Commit 4b4ed7f5 authored by yangjian's avatar yangjian

add docker

parent abbadb7b
#!/bin/bash
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
echo "$THIS_SCRIPT_PATH"
source ${THIS_SCRIPT_PATH}/build_install_package.sh
function build_docker()
{
docker build -t amf:v1.0 -f ${THIS_SCRIPT_PATH}/../../docker/Dockerfile $1/
if [[ $? -eq 0 ]]; then
return 0
else
return 1
fi
}
function main()
{
local -i apk=0
local -i docker=0
until [ -z "$1" ]
do
case "$1" in
-g | --generate-type)
if [ "$2" == "Apk" ]; then
apk=1
elif [ "$2" == "Docker" ]; then
apk=1
docker=1
else
echo "Unknown option \"Apk\" Or \"Docker\""
return 1
fi
shift 2;
;;
*)
echo "Unknown option $1"
return 1
;;
esac
done
if [ $apk -ne 0 ]; then
echo "Generating a green installation package"
generate_install_package ${THIS_SCRIPT_PATH}/../amf/build/amf ${THIS_SCRIPT_PATH}/../../etc/amf_docker.conf ${THIS_SCRIPT_PATH}/../amf-install-packer
if [[ $? -eq 0 ]]; then
echo "Green installation package was generated successfully"
else
echo "Green installation package generation failed"
return 0
fi
fi
if [ $docker -ne 0 ]; then
echo "Creating a Docker image"
build_docker ${THIS_SCRIPT_PATH}/../amf-install-packer
if [[ $? -eq 0 ]]; then
echo "Docker image created successfully"
else
echo "Docker image creation failed"
return 0
fi
fi
}
main "$@"
#!/bin/bash
function generate_install_package()
{
local lib_dir=""
local libs_dir=""
local res=""
local res_new=""
local result=false
echo "[Executable File]$1"
echo "[Config File] $2"
echo "[Generate Dir] $3"
if [ -n "$1" ] && [ -n "$2" ] && [ -n "$3" ]; then
if [ -f "$1" ] && [ -f "$2" ];then
res="$(ldd $1)"
for ((i=1; i<=100; i++))
do
res_new="${res#*/}"
if [ "$res_new" == "$res" ]; then
result=true
break
fi
lib_dir="/${res_new%%(*} "
libs_dir+="$lib_dir "
res="${res_new#* }"
done
else
echo "\"$1\" Or \"$2\" does not exist!"
fi
if [ $result == true ]; then
if [ -d "$3" ]; then
rm -r $3
fi
mkdir $3 $3/libs
cp $libs_dir $3/libs/
cp $1 $3
cp $2 $3/default.conf
cd $3
cat>start.sh<<EOF
#!/bin/bash
cd \`dirname \$0\`
ROOT_DIR=\$(pwd)
if [ -f "\$ROOT_DIR/external.conf" ]; then
echo -e "\E[33mUsing external configuration \E[00m"
\$ROOT_DIR/libs/ld-linux-x86-64.so.2 --library-path \$ROOT_DIR/libs/ \$ROOT_DIR/$(basename $1) -c \$ROOT_DIR/external.conf -o
else
echo -e "\E[33mUsing default configuration \E[00m"
\$ROOT_DIR/libs/ld-linux-x86-64.so.2 --library-path \$ROOT_DIR/libs/ \$ROOT_DIR/$(basename $1) -c \$ROOT_DIR/default.conf -o
fi
EOF
chmod 777 start.sh
return 0
else
echo "Extract library failed!"
return 1
fi
else
echo "$0 [Executable File] [Config File] [Generate Dir]"
fi
}
#generate_install_package "$@"
FROM ubuntu:18.04
ADD . /opt/5gc/amf
RUN apt-get update -y && \
apt-get install --no-install-recommends -y net-tools vim inetutils-ping && \
mkdir /opt/5gc/log
EXPOSE 8282 38412/sctp
CMD ["/opt/5gc/amf/start.sh"]
################################################################################
# Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The OpenAirInterface Software Alliance licenses this file to You under
# the OAI Public License, Version 1.1 (the "License"); you may not use this file
# except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.openairinterface.org/?page_id=698
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#-------------------------------------------------------------------------------
# For more information about the OpenAirInterface (OAI) Software Alliance:
# contact@openairinterface.org
################################################################################
AMF =
{
INSTANCE_ID = 10; # 0 is the default
PID_DIRECTORY = "/var/run"; # /var/run is the default
AMF_NAME = "OAI-AMF";
RELATIVE_CAPACITY = 50;
# Display statistics about whole system (in seconds)
STATISTICS_TIMER_INTERVAL = 20; # YOUR CONFIG HERE
CORE_CONFIGURATION:
{
EMERGENCY_SUPPORT = "false";
};
GUAMI:
{
MCC = "220"; MNC = "11"; RegionID = "128"; AMFSetID = "4"; AMFPointer = "1" # YOUR GUAMI CONFIG HERE
}
SERVED_GUAMI_LIST = (
#{MCC = "220"; MNC = "11"; RegionID = "10"; AMFSetID = "1"; AMFPointer = "0"} #48bits <MCC><MNC><RegionID><AMFSetID><AMFPointer>
{MCC = "220"; MNC = "11"; RegionID = "128"; AMFSetID = "4"; AMFPointer = "1"} #48bits <MCC><MNC><RegionID><AMFSetID><AMFPointer>
);
PLMN_SUPPORT_LIST = (
{
MCC = "220"; MNC = "11"; TAC = 100; # YOUR PLMN CONFIG HERE
SLICE_SUPPORT_LIST = (
{SST = "1"; SD = "none"}, # YOUR NSSAI CONFIG HERE
{SST = "1"; SD = "12"} # YOUR NSSAI CONFIG HERE
)
}
);
INTERFACES:
{
# AMF binded interface for N1/N2 interface (NGAP)
NGAP_AMF:
{
INTERFACE_NAME = "eth0"; # YOUR NETWORK CONFIG HERE
IPV4_ADDRESS = "read";
PORT = 38412; # YOUR NETWORK CONFIG HERE
PPID = 60; # YOUR NETWORK CONFIG HERE
};
# AMF binded interface for Nausf interface
NAUSF:
{
INTERFACE_NAME = "eth0"; # YOUR NETWORK CONFIG HERE
IPV4_ADDRESS = "172.16.200.13/24";
PORT = 8383; # YOUR NETWORK CONFIG HERE
};
# AMF binded interface for N11
N11:
{
INTERFACE_NAME = "eth0"; # YOUR NETWORK CONFIG HERE
IPV4_ADDRESS = "read";
PORT = 8282; # YOUR NETWORK CONFIG HERE
SMF_INSTANCES_POOL = (
{SMF_INSTANCE_ID = 1; IPV4_ADDRESS = "172.16.200.15"; PORT = "8889"; VERSION = "v1"; SELECTED = "true"}, # YOUR SMF CONFIG HERE
{SMF_INSTANCE_ID = 2; IPV4_ADDRESS = "10.103.238.21"; PORT = "8181"; VERSION = "v1"; SELECTED = "false"} # YOUR SMF CONFIG HERE
);
};
};
AUTHENTICATION:
{
## MySQL mandatory options
MYSQL_server = "172.16.200.10"; # MySQL Server address
MYSQL_user = "yunshou"; # Database server login
MYSQL_pass = "123456"; # Database server password
MYSQL_db = "OAI_DB"; # Your database name
## OP
OPERATOR_key = "1006020f0a478bf6b699f15c062e42b3"; # OP key matching your database
RANDOM = "true";
};
NAS:
{
ORDERED_SUPPORTED_INTEGRITY_ALGORITHM_LIST = [ "NIA1" , "NIA1" , "NIA1" ];
ORDERED_SUPPORTED_CIPHERING_ALGORITHM_LIST = [ "NEA0" , "NEA1" , "NEA2" ];
};
};
MODULES =
{
NGAP_MESSAGE = (
{MSG_NAME = "NGSetupRequest"; ProcedureCode = 21; TypeOfMessage = "initialMessage"}
);
};
......@@ -1389,7 +1389,7 @@ bool amf_n1::_5g_aka_confirmation_from_ausf(
msgBody = confirmationdata_j.dump();
curl_http_client(remoteUri, "PUT", msgBody, Response);
// free(resStar_string.c_str());
Logger::amf_n1().info("Get Json content from AUSF response: %s",Response.c_str());
try {
ConfirmationDataResponse confirmationdataresponse;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment