From 8647c56fb85a62a3e3933e676af7e80ab281c694 Mon Sep 17 00:00:00 2001 From: thomasl <thomasl@eurecom.fr> Date: Mon, 23 Mar 2015 17:42:20 +0000 Subject: [PATCH] merge back from 0.3 branch to trunk git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6880 818b1a75-f10b-46b9-bf7c-635c3b92a50f --- cmake_targets/CMakeLists.txt | 8 +- cmake_targets/build_oai.bash | 4 +- cmake_targets/hss_build/CMakeLists.txt | 6 +- cmake_targets/hss_build/acl.conf.in | 19 +++ cmake_targets/hss_build/hss.conf.in | 11 ++ cmake_targets/hss_build/hss_fd.conf.in | 106 ++++++++++++++++ cmake_targets/tools/build_helper.bash | 11 +- cmake_targets/tools/epc.conf.in | 142 ++++++++++++++++++++++ cmake_targets/tools/epc.local.enb.conf.in | 142 ++++++++++++++++++++++ cmake_targets/tools/s6a.conf.in | 97 +++++++++++++++ 10 files changed, 534 insertions(+), 12 deletions(-) create mode 100644 cmake_targets/hss_build/acl.conf.in create mode 100644 cmake_targets/hss_build/hss.conf.in create mode 100644 cmake_targets/hss_build/hss_fd.conf.in create mode 100755 cmake_targets/tools/epc.conf.in create mode 100755 cmake_targets/tools/epc.local.enb.conf.in create mode 100644 cmake_targets/tools/s6a.conf.in diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt index a7c9c8c857..00afe8eb67 100644 --- a/cmake_targets/CMakeLists.txt +++ b/cmake_targets/CMakeLists.txt @@ -807,7 +807,7 @@ set(L2_SRC ${RRC_DIR}/rrc_UE.c ${RRC_DIR}/rrc_eNB.c ${RRC_DIR}/rrc_eNB_S1AP.c - ${RRC_DIR}/rrc_eNB_UE_context.c + #${RRC_DIR}/rrc_eNB_UE_context.c ${RRC_DIR}/rrc_common.c ${RRC_DIR}/L2_interface.c ) @@ -1495,13 +1495,13 @@ add_option(TRANSPORT_option No_SCTP "No_TCP or No_SCTP") add_option(TRANSPORT_PREFER_TCP_option Prefer_TCP "Prefer_TCP or null string ") configure_file( - ${OPENAIRCN_DIR}/UTILS/CONF/s6a.conf.in + ${OPENAIR_CMAKE}/tools/s6a.conf.in ${CMAKE_CURRENT_BINARY_DIR}/epc_s6a.conf) configure_file( - ${OPENAIR_TARGETS}/PROJECTS/GENERIC-LTE-EPC/CONF/epc.local.enb.conf.in + ${OPENAIR_CMAKE}/tools/epc.local.enb.conf.in ${CMAKE_CURRENT_BINARY_DIR}/epc.local.enb.conf) configure_file( - ${OPENAIR_TARGETS}/PROJECTS/GENERIC-LTE-EPC/CONF/epc.conf.in + ${OPENAIR_CMAKE}/tools/epc.conf.in ${CMAKE_CURRENT_BINARY_DIR}/epc.conf) # oai_sgw is SGW node implementation diff --git a/cmake_targets/build_oai.bash b/cmake_targets/build_oai.bash index d377b0a5bd..1e0f12080a 100755 --- a/cmake_targets/build_oai.bash +++ b/cmake_targets/build_oai.bash @@ -212,8 +212,8 @@ echo "set(XFORMS $XFORMS )" >> $cmake_file echo "set(RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file -mkdir -p $DIR/oaisim_build_oai/build -cd $DIR/oaisim_build_oai/build +mkdir -p $DIR/oaisim_mme_build_oai/build +cd $DIR/oaisim_mme_build_oai/build cmake .. # For unitary test simulators diff --git a/cmake_targets/hss_build/CMakeLists.txt b/cmake_targets/hss_build/CMakeLists.txt index 287c3a2ab5..e3bdf92821 100755 --- a/cmake_targets/hss_build/CMakeLists.txt +++ b/cmake_targets/hss_build/CMakeLists.txt @@ -286,13 +286,13 @@ ELSE( FD_SERVER_IP_BIND_LIST ) ENDIF( FD_SERVER_IP_BIND_LIST ) configure_file( - ${OPENAIRHSS_DIR}/conf/hss_fd.conf.in + ${CMAKE_CURRENT_SOURCE_DIR}/hss_fd.conf.in ${CMAKE_CURRENT_BINARY_DIR}/hss_fd.conf) configure_file( - ${OPENAIRHSS_DIR}/conf/hss.conf.in + ${CMAKE_CURRENT_SOURCE_DIR}/hss.conf.in ${CMAKE_CURRENT_BINARY_DIR}/hss.conf) configure_file( - ${OPENAIRHSS_DIR}/conf/acl.conf.in + ${CMAKE_CURRENT_SOURCE_DIR}/acl.conf.in ${CMAKE_CURRENT_BINARY_DIR}/acl.conf) install (TARGETS openair-hss diff --git a/cmake_targets/hss_build/acl.conf.in b/cmake_targets/hss_build/acl.conf.in new file mode 100644 index 0000000000..7702690f78 --- /dev/null +++ b/cmake_targets/hss_build/acl.conf.in @@ -0,0 +1,19 @@ +# 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 new file mode 100644 index 0000000000..4c5e4c7d93 --- /dev/null +++ b/cmake_targets/hss_build/hss.conf.in @@ -0,0 +1,11 @@ +## 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/cmake_targets/hss_build/hss_fd.conf.in b/cmake_targets/hss_build/hss_fd.conf.in new file mode 100644 index 0000000000..43fc8f5e4b --- /dev/null +++ b/cmake_targets/hss_build/hss_fd.conf.in @@ -0,0 +1,106 @@ +# -------- 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@"; No_IPv6; No_TLS ; port = 3870; }; \ No newline at end of file diff --git a/cmake_targets/tools/build_helper.bash b/cmake_targets/tools/build_helper.bash index ed511d8b1d..d1da7ec613 100755 --- a/cmake_targets/tools/build_helper.bash +++ b/cmake_targets/tools/build_helper.bash @@ -139,9 +139,14 @@ clean_kernel() { } clean_all_files() { - dir=$OPENAIR_DIR/cmake - rm -rf $dir/log $OPENAIR_TARGETS/bin $dir/autotests/bin $dir/autotests/log $dir/autotests/*/buid $dir/build_*/build - rm -rf $dir/oaisim_build_oai/CMakeLists.txt $dir/epc_build_oai/CMakeLists.txt $dir/hss_build/BUILD + dir=$OPENAIR_DIR/cmake_targets + rm -rf $dir/log $OPENAIR_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 } ################################### diff --git a/cmake_targets/tools/epc.conf.in b/cmake_targets/tools/epc.conf.in new file mode 100755 index 0000000000..f4ff736428 --- /dev/null +++ b/cmake_targets/tools/epc.conf.in @@ -0,0 +1,142 @@ +MME : +{ + + REALM = "@REALM@"; + # 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"; + # 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/epc_s6a.conf"; + HSS_HOSTNAME = "@HSS_HOSTNAME@"; + }; + + # ------- SCTP definitions + SCTP : + { + # Number of streams to use in input/output + SCTP_INSTREAMS = 32; + SCTP_OUTSTREAMS = 32; + }; + + # ------- 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 + PLMN = ( + {MCC="208" ; MNC="92"; TAC = "1"; }, + {MCC="208" ; MNC="10"; TAC = "1"; }, + {MCC="209" ; MNC="130"; TAC = "4"; }, + {MCC="209" ; MNC="012"; TAC = "2"; }, + {MCC="208" ; MNC="35"; TAC = "8"; } + ); + }; + + 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 = "eth0"; + MME_IPV4_ADDRESS_FOR_S1_MME = "192.168.13.17//24"; + + 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 = "eth0"; + SGW_INTERFACE_MTU_FOR_S1U_S12_S4_UP = 1564 + SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP = "192.168.13.17/24"; + # TODO PORT NUMBER + SGW_IPV4_PORT_FOR_S1U_S12_S4_UP = 2152; + + SGW_INTERFACE_NAME_FOR_S5_S8_UP = "none"; + SGW_IPV4_ADDRESS_FOR_S5_S8_UP = "0.0.0.0/24"; + }; + # Only for tests + SGW_DROP_UPLINK_S1U_TRAFFIC = "no"; + # Only for tests + SGW_DROP_DOWNLINK_S1U_TRAFFIC = "no"; +}; + +P-GW = +{ + NETWORK_INTERFACES : + { + PGW_INTERFACE_NAME_FOR_S5_S8 = "none"; + PGW_IPV4_ADDRESS_FOR_S5_S8 = "0.0.0.0/24"; + + PGW_INTERFACE_NAME_FOR_SGI = "eth1"; + PGW_IPV4_ADDRESS_FOR_SGI = "192.168.14.17/24"; + # Option available only if GTPU in kernel configured + PGW_MASQUERADE_SGI = "no"; + }; + + IP_ADDRESS_POOL : + { + IPV4_LIST = ( + "192.168.0.0/24", + "192.168.1.0/24" + ); + IPV6_LIST = ( + "2014:02:26::0/120" + ); + }; + + #WARNING DNS ARE HARDCODED IN openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.c:305 + DEFAULT_DNS_1_IPV4_ADDRESS = "192.168.12.100"; + DEFAULT_DNS_2_IPV4_ADDRESS = "192.168.106.12"; +}; + + diff --git a/cmake_targets/tools/epc.local.enb.conf.in b/cmake_targets/tools/epc.local.enb.conf.in new file mode 100755 index 0000000000..3ff6ed743c --- /dev/null +++ b/cmake_targets/tools/epc.local.enb.conf.in @@ -0,0 +1,142 @@ +MME : +{ + + REALM = "@REALM@"; + # 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"; + # 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/epc_s6a.conf"; + HSS_HOSTNAME = "@HSS_HOSTNAME@"; + }; + + # ------- SCTP definitions + SCTP : + { + # Number of streams to use in input/output + SCTP_INSTREAMS = 32; + SCTP_OUTSTREAMS = 32; + }; + + # ------- 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 + PLMN = ( + {MCC="208" ; MNC="92"; TAC = "1"; }, + {MCC="208" ; MNC="10"; TAC = "1"; }, + {MCC="209" ; MNC="130"; TAC = "4"; }, + {MCC="209" ; MNC="012"; TAC = "2"; }, + {MCC="208" ; MNC="35"; TAC = "8"; } + ); + }; + + 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"; + MME_IPV4_ADDRESS_FOR_S1_MME = "192.188.2.2/24"; + + 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 = "tun3"; + SGW_INTERFACE_MTU_FOR_S1U_S12_S4_UP = 1564 + SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP = "192.188.3.3/24"; + # TODO PORT NUMBER + SGW_IPV4_PORT_FOR_S1U_S12_S4_UP = 2152; + + SGW_INTERFACE_NAME_FOR_S5_S8_UP = "none"; + SGW_IPV4_ADDRESS_FOR_S5_S8_UP = "0.0.0.0/24"; + }; + # Only for tests + SGW_DROP_UPLINK_S1U_TRAFFIC = "no"; + # Only for tests + SGW_DROP_DOWNLINK_S1U_TRAFFIC = "no"; +}; + +P-GW = +{ + NETWORK_INTERFACES : + { + PGW_INTERFACE_NAME_FOR_S5_S8 = "none"; + PGW_IPV4_ADDRESS_FOR_S5_S8 = "0.0.0.0/24"; + + PGW_INTERFACE_NAME_FOR_SGI = "eth1"; + PGW_IPV4_ADDRESS_FOR_SGI = "192.168.13.82/24"; + # Option available only if GTPU in kernel configured + PGW_MASQUERADE_SGI = "yes"; + }; + + IP_ADDRESS_POOL : + { + IPV4_LIST = ( + "192.168.0.0/24", + "192.168.1.0/24" + ); + IPV6_LIST = ( + "2014:02:26::0/120" + ); + }; + + #WARNING DNS ARE HARDCODED IN openair-cn/NAS/EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.c:305 + DEFAULT_DNS_1_IPV4_ADDRESS = "192.168.12.100"; + DEFAULT_DNS_2_IPV4_ADDRESS = "192.168.106.12"; +}; + + diff --git a/cmake_targets/tools/s6a.conf.in b/cmake_targets/tools/s6a.conf.in new file mode 100644 index 0000000000..000544ad75 --- /dev/null +++ b/cmake_targets/tools/s6a.conf.in @@ -0,0 +1,97 @@ +# -------- 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@"; }; -- 2.26.2