Free5GC: Install: Difference between revisions

From OnnoCenterWiki
Jump to navigationJump to search
 
(10 intermediate revisions by the same user not shown)
Line 53: Line 53:
==Kumpulan Informasi konfigurasi eNodeB dan USIM==
==Kumpulan Informasi konfigurasi eNodeB dan USIM==


===eNodeB information (in this example)===
===Informasi eNodeB (dalam contoh ini)===


  IP Address: 192.188.2.1
  IP Address: 192.188.2.1
  Gateway:    192.188.2.2 (IP of NIC connected to eNB)
  Gateway:    192.188.2.2 (IP NIC yang tersambung ke eNB)
  PLMN:
  PLMN:
   MCC: 208
   MCC: 208
Line 64: Line 64:
  TAC: 1
  TAC: 1


===USIM information (in this example)===
===Informasi USIM (dalam contoh ini)===


  IMSI 208930000000003
  IMSI 208930000000003
Line 74: Line 74:
Ikuti instruksi dari Part A ~ Part C.
Ikuti instruksi dari Part A ~ Part C.


Part A. Compile Source Code
===Part A. Compile Source Code===
Prerequisites
 
Menyiapkan aplikasi pendukung.
 
Install MongoDB 3.6.3, Golang 1.11.4.
Install MongoDB 3.6.3, Golang 1.11.4.


Line 82: Line 84:
  sudo systemctl start mongodb (if '/usr/bin/mongod' is not running)
  sudo systemctl start mongodb (if '/usr/bin/mongod' is not running)


# Check if golang is installed
Check apakah golang sudah di instalasi


  go version
  go version


# If not, run commands below
Jika belum, jalankan perintah di bawah ini,


  wget -q https://storage.googleapis.com/golang/getgo/installer_linux
  wget -q https://storage.googleapis.com/golang/getgo/installer_linux
Line 98: Line 100:
  go get -u -v "golang.org/x/sys/unix"
  go get -u -v "golang.org/x/sys/unix"


To run free5GC with least privilege, TUN device permission should be a crw-rw-rw-(666).
Untuk menjalankan free5GC dengan least privilege, TUN device permission harus crw-rw-rw-(666).


  ls -al /dev/net/tun
  ls -al /dev/net/tun
  crw-rw-rw- 1 root root 10, 200 Jan 14 13:09 /dev/net/tun
  crw-rw-rw- 1 root root 10, 200 Jan 14 13:09 /dev/net/tun


Write the configuration file for the TUN device.
Tulis file konfigurasi untuk TUN device.


  sudo sh -c "cat << EOF > /etc/systemd/network/99-free5gc.netdev
  sudo sh -c "cat << EOF > /etc/systemd/network/99-free5gc.netdev
Line 114: Line 117:
  sudo systemctl restart systemd-networkd
  sudo systemctl restart systemd-networkd


Check IPv6 Kernel Configuration. Although you can skip this step, we suggest that you set this up to support IPv6-enabled UE.
Cek konfigurasi IPv6 Kernel. Meskipun kita dapat melewati langkah ini, sangat di sarankan untuk set untuk mendukung IPv6-enabled UE.


  sysctl -n net.ipv6.conf.uptun.disable_ipv6
  sysctl -n net.ipv6.conf.uptun.disable_ipv6


(if the output is 0 and IPv6 is enabled, skip the followings)
(jika menghasilkan 0 maka IPv6 enable, kita bisa meloncati langkah berikut)


  sudo sh -c "echo 'net.ipv6.conf.uptun.disable_ipv6=0' > /etc/sysctl.d/30-free5gc.conf"
  sudo sh -c "echo 'net.ipv6.conf.uptun.disable_ipv6=0' > /etc/sysctl.d/30-free5gc.conf"
  sudo sysctl -p /etc/sysctl.d/30-free5gc.conf
  sudo sysctl -p /etc/sysctl.d/30-free5gc.conf


You are now ready to set the IP address on TUN device. If IPv6 is disabled for TUN device, please remove Address=cafe::1/64 from below.
Saat ini kita siap untuk menset IP address pada TUN device. Jika IPv6 di disabled untuk TUN device, maka kita perlu menghilangkan address=cafe::1/64 from konfigurasi di bawah.


  sudo sh -c "cat << EOF > /etc/systemd/network/99-free5gc.network
  sudo sh -c "cat << EOF > /etc/systemd/network/99-free5gc.network
Line 136: Line 139:
  sudo systemctl restart systemd-networkd
  sudo systemctl restart systemd-networkd


Add the following lines into /etc/network/interfaces for network-manager service
Tambahkan kalimat-kalimat berikut ke /etc/network/interfaces untuk network-manager service


  auto uptun
  auto uptun
Line 147: Line 150:
  address cafe::1
  address cafe::1
  netmask 64
  netmask 64
Restart uptun interface
Restart uptun interface


Line 152: Line 156:
  sudo systemctl restart networking
  sudo systemctl restart networking


# Check if uptun is up
Check apakah uptun sudah up


  sudo apt-get -y install net-tools
  sudo apt-get -y install net-tools
  ifconfig uptun
  ifconfig uptun


AMF, SMF, UPF, HSS, and PCRF
====AMF, SMF, UPF, HSS, dan PCRF====
Install the depedencies for building the source
 
Instal depedency untuk membuat dari source


  sudo apt-get -y install autoconf libtool gcc pkg-config git flex bison libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev  
  sudo apt-get -y install autoconf libtool gcc pkg-config git flex bison libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev  
  libidn11-dev libmongoc-dev libbson-dev libyaml-dev
  libidn11-dev libmongoc-dev libbson-dev libyaml-dev


Git clone and compile
Git clone dan compile


  git clone https://bitbucket.org/nctu_5g/free5gc-stage-1.git
  git clone https://bitbucket.org/nctu_5g/free5gc-stage-1.git
Line 172: Line 177:
  make install
  make install


Part B. VM Internal Network Environment Setting
===Part B. VM Internal Network Environment Setting===
[Option 1] Need to run on every boot
 
[Option 1] perlu menjalankan secara manual setiap kali boot,


  sudo ifconfig ens4 192.188.2.2
  sudo ifconfig ens4 192.188.2.2
Line 180: Line 186:
  sudo iptables -I INPUT -i uptun -j ACCEPT
  sudo iptables -I INPUT -i uptun -j ACCEPT


[Option 2] or configure as auto run on boot
[Option 2] di konfigurasi untuk auto run saat boot


  sudo sh -c "cat << EOF > /etc/init.d/ngc-network-setup
  sudo sh -c "cat << EOF > /etc/init.d/ngc-network-setup
Line 208: Line 214:
  sudo ln -s /etc/init.d/ngc-network-setup /etc/rc5.d/S99ngc-network-setup
  sudo ln -s /etc/init.d/ngc-network-setup /etc/rc5.d/S99ngc-network-setup


Part C. Run
===Part C. Run===
Run in all-in-one mode
 
The daemon free5gc-ngcd includes AMF, SMF, UPF, HSS, and PCRF. Thus, instead of running all 5 daemons, you can just run free5gc-ngcd in your development environment.
====Run in all-in-one mode====
 
Aplikasi (daemon) free5gc-ngcd termasuk di dalamnya AMF, SMF, UPF, HSS, dan PCRF. Jadi, daripada menjalankan semua 5 daemon, kita bisa menjalankan free5gc-ngcd di development environment kita.
 


  ./free5gc-ngcd
  ./free5gc-ngcd


While running free5gc-ngcd
Saat running free5gc-ngcd
All logs for AMF, SMF, UPF, HSS, and PCRF are written to ./install/var/log/free5gc/free5gc.log.
* Semua log dari AMF, SMF, UPF, HSS, dan PCRF akan di tulis ke ./install/var/log/free5gc/free5gc.log.
All settings are managed in one place for ./install/etc/free5gc/free5gc.conf.
* Semua setting akan di managed dari satu file ./install/etc/free5gc/free5gc.conf.
You can find the log/conf path at the beginning of the running screen.
* Kita akan melihat path log/conf di awal screen saat running.
You can user -f argument to specify config file to be used.
* Kita dapat menggunakan argumen -f untuk menentukan config file yang akan digunakan.
Run functions separately
 
We also provide 5GC functions running separately.
====Fungsi 5GC di jalankan terpisah====
 
Sebetulnya fungsi 5GC dapat dijalankan secara terpisah.


  ./free5gc-upfd
  ./free5gc-upfd
Line 228: Line 239:
  ./nextepc-pcrfd
  ./nextepc-pcrfd


Note: We also provide a reference for 5GC functions running in separate machines.
Catatan: kita juga dapat menjalankan fungsi 5GC yang di mesin terpisah.


[Optional] Self-test
'''[Optional] Self-test'''
We provide a program that checks whether the installation is correct. After running the wireshark, select loopback interface, and then filter s1ap || diameter || gtpv2 || gtp and run ./test/testngc. You can see the packets virtually created.
 
Pengembang 5GC juga menyediakan program yang memeriksa apakah penginstalan sudah benar. Setelah menjalankan wireshark, pilih interface loopback, lalu filter s1ap || diameter || gtpv2 || gtp dan jalankan,
 
./test/testngc
 
atau


  ./test/testngc -f install/etc/free5gc/test/free5gc.testngc.conf
  ./test/testngc -f install/etc/free5gc/test/free5gc.testngc.conf


Part D. Web User Interface
Kita dapat melihat paket-paket dibuat secara virtual.
Install Node.js and NPM
 
===Part D. Web User Interface===
 
Install Node.js dan NPM


  sudo apt-get -y install curl
  sudo apt-get -y install curl
Line 242: Line 261:
  sudo apt-get -y install nodejs
  sudo apt-get -y install nodejs


Install the dependencies to run WebUI (first time)
Install dependency untuk run WebUI (pertama kali)


  cd webui
  cd webui
Line 252: Line 271:
  npm run dev
  npm run dev


Now the web server is running on http://localhost:3000. The default username and password are “admin” and “1423”.
Sekarang server web berjalan di http://localhost:3000. username dan password default adalah "admin" dan "1423".
 
==Konfigurasi Core Network==


Core Network Configuration
file konfigurasi free5GC
free5GC configuration file
Ubah ./install/etc/free5gc/free5gc.conf
Modify ./install/etc/free5gc/free5gc.conf


amf-slap address (line 67)
amf-slap address (line 67)
  amf:
    s1ap:
      addr: <IP of GW NIC to eNB: 192.188.2.2>
upf-gtpu address (line 162)
  smf:
    upf:
      addr: <IP of GW NIC to eNB: 192.188.2.2>
AMF GUMMEI (line 91)
  amf:
    gummei:
      plmn_id:
        mcc: <eNB MCC: 208>
              mnc: <eNB MNC: 93>
      mme_gid: <eNB MME GID: 1>
      mme_code: <eNB MME Code: 1>   


amf:
AMF TAI (line 130)
  s1ap:
    addr: <IP of GW NIC to eNB: 192.188.2.2>
 
upf-gtpu address (line 162)


smf:
  amf:
  upf:
    tai:
    addr: <IP of GW NIC to eNB: 192.188.2.2>
      plmn_id:
        mcc: <eNB MCC: 208>
              mnc: <eNB MNC: 93>
          tac: <eNB TAC: 1>


AMF GUMMEI (line 91)
==Tambahkan subscriber (UE)==


amf:
Tambahkan subscriber melalui Web UI
  gummei:
Run web server:
    plmn_id:
      mcc: <eNB MCC: 208>
            mnc: <eNB MNC: 93>
    mme_gid: <eNB MME GID: 1>
    mme_code: <eNB MME Code: 1>   


AMF TAI (line 130)
cd ./webui && npm run dev


amf:
Masuk ke http://localhost:3000
  tai:
* Username : admin
    plmn_id:
* Password : 1423
      mcc: <eNB MCC: 208>
            mnc: <eNB MNC: 93>
        tac: <eNB TAC: 1>


Add subscriber (UE)
Tambahkan subscriber dengan IMSI, K, OPc
Add a subscriber by the Web UI
* Masuk ke menu Subscriber.
Run the web server:
* Click Tombol `+` untuk menambahkan subscriber baru.
* Isi IMSI, security context(K, OPc, AMF), dan APN dari subscriber.
* Click Tombol `SAVE`


cd ./webui && npm run dev
Penambahan ini akan langsung berlaku di free5GC tanpa perlu me-restart daemon apa pun.


Visit http://localhost:3000
==Rebuild Project==
  - Username : admin
  - Password : 1423
Add a subscriber with IMSI, K, OPc
  - Go to Subscriber Menu.
  - Click `+` Button to add a new subscriber.
  - Fill the IMSI, security context(K, OPc, AMF), and APN of the subscriber.
  - Click `SAVE` Button


This addition will take effect immediately on free5GC without restaring any daemon.
Untuk sepenuhnya membangun kembali proyek setelah memodifikasi source code


Rebuild Project
To completely rebuild the project after modifying source code


  (Control-C kill free5gc-ngcd)
  (Control-C kill free5gc-ngcd)
Line 319: Line 343:
  ./free5gc-ngcd
  ./free5gc-ngcd


Troubleshooting
==Troubleshooting==
Note for modifying configuration file
 
Use space for indent. DO NOT use tab.
Catatan untuk memodifikasi file konfigurasi
A white space must be added between the colon and value after the item name, e.g. addr: 192.188.2.2
* Gunakan spasi untuk indent. JANGAN gunakan tab.
* Spasi harus ditambahkan di antara titik dua dan nilai setelah nama item, mis. addr: 192.188.2.2
 
Jalankan,
 
 
  ./test/testngc test failure
  ./test/testngc test failure


Make sure all configuration files and environment settings are correct.
Pastikan semua file konfigurasi dan pengaturan lingkungan sudah benar.
 
Kill semua proses testngc yang tidak selesai dengan benar


Kill testngc process which didn’t finish correctly


  killall -9 testngc
  killall -9 testngc


Remove test subscriber left by previous failed test (NextEPC issue #57)
 
Hapus test subscriber yang ditinggalkan oleh pengujian gagal sebelumnya (NextEPC issue #57)


  $ mongo
  $ mongo
Line 341: Line 371:
  ./free5gc-ngcd errors
  ./free5gc-ngcd errors


ERRR: - The certificate is expired (NextEPC issue #94)
ERRR: - certificate expire (NextEPC issue #94)


  cd support/freeDiameter
  cd support/freeDiameter
Line 348: Line 378:
  make install
  make install


Address already in use
Address telah digunakan


  $ killall -9 testngc
  $ killall -9 testngc


or
atau


  $ killall -9 free5gc-ngcd
  $ killall -9 free5gc-ngcd


Rebuild failure
Kegagalan Rebuild


  config.status: error: cannot find input file: `Makefile.in' (NextEPC issue #68)
  config.status: error: cannot find input file: `Makefile.in' (NextEPC issue #68)
Line 368: Line 398:
==Appendix A: Program the SIM Card==
==Appendix A: Program the SIM Card==


Install packages:
Install package:


  sudo apt-get install pcscd pcsc-tools libccid python-dev swig python-setuptools python-pip libpcsclite-dev
  sudo apt-get install pcscd pcsc-tools libccid python-dev swig python-setuptools python-pip libpcsclite-dev
Line 377: Line 407:
  git clone git://git.osmocom.org/pysim.git
  git clone git://git.osmocom.org/pysim.git


Change to pyscard folder and install
CD ke folder pyscard dan install


  cd <pyscard-path>
  cd <pyscard-path>
  sudo /usr/bin/python setup.py build_ext install
  sudo /usr/bin/python setup.py build_ext install


Verify your reader is ready
Verify bahwa reader kita sudah siap


  sudo pcsc_scan
  sudo pcsc_scan


Check whether your reader can read the SIM card
Cek apakah reader kita dapat membaca SIM card


  cd <pysim-path>
  cd <pysim-path>
  ./pySim-read.py –p 0
  ./pySim-read.py –p 0


Program your SIM card information
Program / isi SIM card dengan information


  ./pySim-prog.py -p 0 -x 208 -y 93 -t sysmoUSIM-SJS1 -i 208930000000003 --op=8e27b6af0e692e750f32667a3b14605d -k 8baf473f2f8fd09487cccbd7097c6862 -s 8988211000000088313 -a 23605945
  ./pySim-prog.py -p 0 -x 208 -y 93 -t sysmoUSIM-SJS1 -i 208930000000003 --op=8e27b6af0e692e750f32667a3b14605d -k 8baf473f2f8fd09487cccbd7097c6862 -s 8988211000000088313 -a 23605945


You can get your SIM card from sysmocom. You also need a card reader to write your SIM card. You can get a card reader from here or equivalent device will do.
Anda bisa mendapatkan kartu SIM Anda dari sysmocom. Anda juga memerlukan pembaca kartu untuk menulis kartu SIM Anda. Anda bisa mendapatkan pembaca kartu dari sini atau perangkat yang setara akan melakukannya.


==Referensi==
==Referensi==

Latest revision as of 02:14, 21 December 2022

Sumber: https://www.free5gc.org/installations/stage-1-all-in-one/


Kebutuhan Minimal

Software

  • OS: Ubuntu 18.04
  • Linux kernel: 4.15.0-43-generic
  • gcc 7.3.0
  • Go 1.11.4
  • QEMU emulator 2.11.1

Hardware

  • CPU: Intel i5 processor
  • RAM: 4GB
  • Hard drive: 160G
  • NIC card: 1Gbps ethernet card

Hardware recommended

  • CPU: Intel i7 processor
  • RAM: 8GB
  • Hard drive: 160G
  • NIC card: 10Gbps ethernet card

Hardware Tested

eNB

  • WNC OSQ4G-01E2, 3GPP Rel-13 compliance (4G LTE Small Cell)
  • D-Link DWR-1012, 3GPP Rel-12 compliance (4G LTE Small Cell)
  • GemTek WLTGFC-101, 3GPP Rel-9 compliance (4G LTE Small Cell)

UE

  • LG C90 cellular phone
  • D-Link DWR-932C dongle via USB cable

Persiapan

Setup KVM Environment

  • VM NIC Cards
    • NIC for connecting to the Internet
      • Network source: Virtual network - NAT
      • Interface name in VM: ens3 (in this example)
    • NIC for connecting to eNB:
      • Network source: Host device <Host Interface Name>
      • Interface name in VM: ens4 (in this example)

Kumpulan Informasi konfigurasi eNodeB dan USIM

Informasi eNodeB (dalam contoh ini)

IP Address: 192.188.2.1
Gateway:    192.188.2.2 (IP NIC yang tersambung ke eNB)
PLMN:
  MCC: 208
  MNC: 93
MME GID:  1
MME Code: 1
TAC: 1

Informasi USIM (dalam contoh ini)

IMSI 208930000000003
K    8baf473f2f8fd09487cccbd7097c6862
OPc  8e27b6af0e692e750f32667a3b14605d

Instalasi

Ikuti instruksi dari Part A ~ Part C.

Part A. Compile Source Code

Menyiapkan aplikasi pendukung.

Install MongoDB 3.6.3, Golang 1.11.4.

sudo apt-get update
sudo apt-get -y install mongodb wget git
sudo systemctl start mongodb (if '/usr/bin/mongod' is not running)

Check apakah golang sudah di instalasi

go version

Jika belum, jalankan perintah di bawah ini,

wget -q https://storage.googleapis.com/golang/getgo/installer_linux
chmod +x installer_linux
./installer_linux
source ~/.bash_profile
rm -f installer_linux
go get -u -v "github.com/gorilla/mux"
go get -u -v "golang.org/x/net/http2"
go get -u -v "golang.org/x/sys/unix"

Untuk menjalankan free5GC dengan least privilege, TUN device permission harus crw-rw-rw-(666).

ls -al /dev/net/tun
crw-rw-rw- 1 root root 10, 200 Jan 14 13:09 /dev/net/tun

Tulis file konfigurasi untuk TUN device.

sudo sh -c "cat << EOF > /etc/systemd/network/99-free5gc.netdev
[NetDev]
Name=uptun
Kind=tun
EOF"
sudo systemctl enable systemd-networkd
sudo systemctl restart systemd-networkd

Cek konfigurasi IPv6 Kernel. Meskipun kita dapat melewati langkah ini, sangat di sarankan untuk set untuk mendukung IPv6-enabled UE.

sysctl -n net.ipv6.conf.uptun.disable_ipv6

(jika menghasilkan 0 maka IPv6 enable, kita bisa meloncati langkah berikut)

sudo sh -c "echo 'net.ipv6.conf.uptun.disable_ipv6=0' > /etc/sysctl.d/30-free5gc.conf"
sudo sysctl -p /etc/sysctl.d/30-free5gc.conf

Saat ini kita siap untuk menset IP address pada TUN device. Jika IPv6 di disabled untuk TUN device, maka kita perlu menghilangkan address=cafe::1/64 from konfigurasi di bawah.

sudo sh -c "cat << EOF > /etc/systemd/network/99-free5gc.network
[Match]
Name=uptun
[Network]
Address=45.45.0.1/16
Address=cafe::1/64
EOF"
sudo systemctl enable systemd-networkd
sudo systemctl restart systemd-networkd

Tambahkan kalimat-kalimat berikut ke /etc/network/interfaces untuk network-manager service

auto uptun
iface uptun inet static  
	address 45.45.0.1 
	netmask 255.255.0.0

iface uptun inet6 static
	pre-up modprobe ipv6 
	address cafe::1
	netmask 64

Restart uptun interface

sudo ip a flush uptun
sudo systemctl restart networking

Check apakah uptun sudah up

sudo apt-get -y install net-tools
ifconfig uptun

AMF, SMF, UPF, HSS, dan PCRF

Instal depedency untuk membuat dari source

sudo apt-get -y install autoconf libtool gcc pkg-config git flex bison libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev 
libidn11-dev libmongoc-dev libbson-dev libyaml-dev

Git clone dan compile

git clone https://bitbucket.org/nctu_5g/free5gc-stage-1.git
cd free5gc-stage-1
autoreconf -iv
./configure --prefix=`pwd`/install
make -j `nproc`
make install

Part B. VM Internal Network Environment Setting

[Option 1] perlu menjalankan secara manual setiap kali boot,

sudo ifconfig ens4 192.188.2.2
sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
sudo iptables -I INPUT -i uptun -j ACCEPT

[Option 2] di konfigurasi untuk auto run saat boot

sudo sh -c "cat << EOF > /etc/init.d/ngc-network-setup
#!/bin/sh
### BEGIN INIT INFO
# Provides:          ngc-network-setup
# Required-Start:    networkd
# Required-Stop:     networkd
# Default-Start:     networkd
# Default-Stop:      networkd
# Short-Description:
# Description:
#
### END INIT INFO

ifconfig ens4 192.188.2.2
sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
iptables -I INPUT -i uptun -j ACCEPT
EOF"

sudo chmod 755 /etc/init.d/ngc-network-setup
sudo /etc/init.d/ngc-network-setup

sudo ln -s /etc/init.d/ngc-network-setup /etc/rc3.d/S99ngc-network-setup
sudo ln -s /etc/init.d/ngc-network-setup /etc/rc4.d/S99ngc-network-setup
sudo ln -s /etc/init.d/ngc-network-setup /etc/rc5.d/S99ngc-network-setup

Part C. Run

Run in all-in-one mode

Aplikasi (daemon) free5gc-ngcd termasuk di dalamnya AMF, SMF, UPF, HSS, dan PCRF. Jadi, daripada menjalankan semua 5 daemon, kita bisa menjalankan free5gc-ngcd di development environment kita.


./free5gc-ngcd

Saat running free5gc-ngcd

  • Semua log dari AMF, SMF, UPF, HSS, dan PCRF akan di tulis ke ./install/var/log/free5gc/free5gc.log.
  • Semua setting akan di managed dari satu file ./install/etc/free5gc/free5gc.conf.
  • Kita akan melihat path log/conf di awal screen saat running.
  • Kita dapat menggunakan argumen -f untuk menentukan config file yang akan digunakan.

Fungsi 5GC di jalankan terpisah

Sebetulnya fungsi 5GC dapat dijalankan secara terpisah.

./free5gc-upfd
./free5gc-amfd
./free5gc-smfd
./nextepc-hssd
./nextepc-pcrfd

Catatan: kita juga dapat menjalankan fungsi 5GC yang di mesin terpisah.

[Optional] Self-test

Pengembang 5GC juga menyediakan program yang memeriksa apakah penginstalan sudah benar. Setelah menjalankan wireshark, pilih interface loopback, lalu filter s1ap || diameter || gtpv2 || gtp dan jalankan,

./test/testngc

atau

./test/testngc -f install/etc/free5gc/test/free5gc.testngc.conf

Kita dapat melihat paket-paket dibuat secara virtual.

Part D. Web User Interface

Install Node.js dan NPM

sudo apt-get -y install curl
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get -y install nodejs

Install dependency untuk run WebUI (pertama kali)

cd webui
npm install

Run WebUI

cd webui
npm run dev

Sekarang server web berjalan di http://localhost:3000. username dan password default adalah "admin" dan "1423".

Konfigurasi Core Network

file konfigurasi free5GC Ubah ./install/etc/free5gc/free5gc.conf

amf-slap address (line 67)

 amf:
   s1ap:
     addr: <IP of GW NIC to eNB: 192.188.2.2>

upf-gtpu address (line 162)

 smf:
   upf:
     addr: <IP of GW NIC to eNB: 192.188.2.2>

AMF GUMMEI (line 91)

 amf:
   gummei:
     plmn_id:
       mcc: <eNB MCC: 208>
             mnc: <eNB MNC: 93>
     mme_gid: <eNB MME GID: 1>
     mme_code: <eNB MME Code: 1>     

AMF TAI (line 130)

 amf:
   tai:
     plmn_id:
       mcc: <eNB MCC: 208>
             mnc: <eNB MNC: 93>
         tac: <eNB TAC: 1>

Tambahkan subscriber (UE)

Tambahkan subscriber melalui Web UI Run web server:

cd ./webui && npm run dev

Masuk ke http://localhost:3000

  • Username : admin
  • Password : 1423

Tambahkan subscriber dengan IMSI, K, OPc

  • Masuk ke menu Subscriber.
  • Click Tombol `+` untuk menambahkan subscriber baru.
  • Isi IMSI, security context(K, OPc, AMF), dan APN dari subscriber.
  • Click Tombol `SAVE`

Penambahan ini akan langsung berlaku di free5GC tanpa perlu me-restart daemon apa pun.

Rebuild Project

Untuk sepenuhnya membangun kembali proyek setelah memodifikasi source code


(Control-C kill free5gc-ngcd)
make maintainer-clean
rm -rf ./install
git pull
autoreconf -iv
./configure --prefix=`pwd`/install
make -j `nproc`
make install
./free5gc-ngcd

Troubleshooting

Catatan untuk memodifikasi file konfigurasi

  • Gunakan spasi untuk indent. JANGAN gunakan tab.
  • Spasi harus ditambahkan di antara titik dua dan nilai setelah nama item, mis. addr: 192.188.2.2

Jalankan,


./test/testngc test failure

Pastikan semua file konfigurasi dan pengaturan lingkungan sudah benar.

Kill semua proses testngc yang tidak selesai dengan benar


killall -9 testngc


Hapus test subscriber yang ditinggalkan oleh pengujian gagal sebelumnya (NextEPC issue #57)

$ mongo
> use free5gc
> db.subscribers.find()  ### (Check the test subscriber)
> db.subscribers.drop()  ### Remove all subscriber
> db.subscribers.find()  ### (Check that all subscribers are empty)
./free5gc-ngcd errors

ERRR: - certificate expire (NextEPC issue #94)

cd support/freeDiameter
./make_certs.sh .
cd ../..
make install

Address telah digunakan

$ killall -9 testngc

atau

$ killall -9 free5gc-ngcd

Kegagalan Rebuild

config.status: error: cannot find input file: `Makefile.in' (NextEPC issue #68)
autoheader \
    && aclocal \
    && libtoolize --ltdl --copy --force \
    && automake --add-missing --copy \
    && autoconf \
    && ./configure

Appendix A: Program the SIM Card

Install package:

sudo apt-get install pcscd pcsc-tools libccid python-dev swig python-setuptools python-pip libpcsclite-dev
sudo pip install pycrypto

Download PySIM

git clone git://git.osmocom.org/pysim.git

CD ke folder pyscard dan install

cd <pyscard-path>
sudo /usr/bin/python setup.py build_ext install

Verify bahwa reader kita sudah siap

sudo pcsc_scan

Cek apakah reader kita dapat membaca SIM card

cd <pysim-path>
./pySim-read.py –p 0

Program / isi SIM card dengan information

./pySim-prog.py -p 0 -x 208 -y 93 -t sysmoUSIM-SJS1 -i 208930000000003 --op=8e27b6af0e692e750f32667a3b14605d -k 8baf473f2f8fd09487cccbd7097c6862 -s 8988211000000088313 -a 23605945

Anda bisa mendapatkan kartu SIM Anda dari sysmocom. Anda juga memerlukan pembaca kartu untuk menulis kartu SIM Anda. Anda bisa mendapatkan pembaca kartu dari sini atau perangkat yang setara akan melakukannya.

Referensi

Pranala Menarik