MEMBUAT TURN SERVER

MEMBUAT TURN SERVER SENDIRI

Pernah mendengar turn server? Jika pembaca sedang membangun atau terbiasa membuat aplikasi webrtc, maka akan sangat familier dengan kata turnserver ini. Pada WebRTC, STUN dan TURN digunakan sekaligus. STUN digunakan terlebih dahulu, bila koneksi secara peer-to-peer dengan bantuan STUN Server gagal, transmisi secara relay (TURN) akan digunakan.

Pada awal pandemi, saya membuat aplikasi untuk menunjang dunia pertunjukan virtual. Ya, karena memang pada awal pandemi corona 19 itu semua kegiatan tatap muka dihentikan dan otomatis semua akan berpindah ke virtual.

Aplikasi saya sudah jadi, bisa digunakan dan sudah saya coba untuk livestreaming mencapai 30 views. Cuma 30 penonton.

Tp saya sudah cukup puas karena aplikasi saya dapat berjalan dengan baik.

Tehnologi yang saya gunakan adalah:

  • nodejs
  • express (nodejs framework)
  • ejs (view engine)
  • socket.io
  • mysql (database)
  • nginx (web server)
  • turnserver
  • obs (untuk streamer admin)

Untuk bedah aplikasinya akan saya buatkan lagi artikelnya nanti. Kali ini akan saya tulis pembuatan turn server dulu karena lebih singkat.

Untuk lebih lanjut anda bisa mengunjungi halaman ini https://webrtc.org/getting-started/turn-server.

Saya menggunakan ubuntu di vps saya, jadi langkah awal seperti biasa adalah update.

sudo apt-get update -y

lalu install COTURN

// install coturn
sudo apt-get install coturn
// edit file default
sudo nano /etc/default/coturn
// jalankan secara daemon
TURNSERVER_ENABLED=1 // lalu simpan
// start coturn
systemctl start coturn

Lalu kita edit config, biasakan untuk membuat backup terlebih dahulu

cp /etc/turnserver.conf /etc/turnserver.conf.backup
nano /etc/turnserver.conf

ketik script berikut

fingerprint
user=USER:PASSWORD
lt-cred-mech
realm=DOMAIN.COM
log-file=/var/log/turnserver/turnserver.log
simple-log
external-ip=IP_SERVER

Atau secara complete bisa seperti ini

# TURN server name and realm
realm=DOMAIN
server-name=turnserver

# Use fingerprint in TURN message
fingerprint

# IPs the TURN server listens to
listening-ip=0.0.0.0

# External IP-Address of the TURN server
external-ip=IP_ADDRESS

# Main listening port
listening-port=3478

# Further ports that are open for communication
min-port=10000
max-port=20000

# Log file path
log-file=/var/log/turnserver.log

# Enable verbose logging
verbose

# Specify the user for the TURN authentification
user=USER:PASSWORD

# Enable long-term credential mechanism
lt-cred-mech

# If running coturn version older than 4.5.2, uncomment these rules and ensure
# that you have listening-ip set to ipv4 addresses only.
# Prevent Loopback bypass https://github.com/coturn/coturn/security/advisories/GHSA-6g6j-r9rf-cm7p
#denied-peer-ip=0.0.0.0-0.255.255.255
#denied-peer-ip=127.0.0.0-127.255.255.255
#denied-peer-ip=::1

tekan ctrl + x, y enter //  untuk keluar dari nano dan menyimpan

Lalu jangan lupa restart coturn

sudo service coturn restart

Lalu kita tiba test turn server kita di website ini Trickle ICE (webrtc.github.io)

Semoga bisa berguna. Terima kasih.

Comments : To post comment, you must login first using google. No worry, it's safe
    LIST CATEGORY

ndalu.id vultr
Hosting Unlimited Indonesia