Mengaktifkan VoIP Pada Matrix Synapse
Sebagai catatan, artikel ini adalah lanjutan dari artikel sebelumnya tentang Instalasi Matrix Synapse Chat. Jadi pendek kata, ketika selesai install Matrix Synapse, fungsi dari VoIP dan Video call belum aktif secara default. Oleh karena itu, kamu harus menginstall tambahan software seperti coturn agar client Matrix kita bisa melakukan fungsi VoIP dan video call.
Fungsi TURN relay dengan menggunakan coturn harus di host oleh server yang mempunyai public IP address. Dalam hal ini sebuah host yang mempunyai control firewall IP dan punya akses IPv4. Dengan persyaratan seperti demikian, maka sebuah VPS saya rasa adalah pilihan yang cocok. Pada case ini saya install coturn bersamaan dengan 1 host dengan Matrix Synapse.
Install Coturn
Proses install sangat mudah.
apt install coturn
File konfigurasi berada di /etc/turnserver.conf dan baris yang wajib kita ubah atau enable (aktifkan) adalah 3 baris ini saja.
use-auth-secret
static-auth-secret=[your secret key here]
realm=turn.myserver.org
Generate static-auth-secret
Sedangkan untuk melakukan generate opsi static-auth-secret kita menggunakan fungsi pwgen. Install terlebih dahulu.
apt install pwgen
pwgen -s 64 1
Maka akan muncul 1 baris berisi 64 random huruf angka. Nah, itu kita masukkan ke dalam baris static-auth-secret.
Untuk opsi realm sesuaikan saja dengan nama FQDN DNS dari nama Matrix Synapse kamu kalau installnya pada host / server yang sama.
User Quota Limit
Ketika semua selesai, ada beberapa opsi security dan resource yang bisa kamu terapkan. Salah satunya adalah membatasi quota dari relay stream dalam satu waktu. Kita bisa lakukan limit per user dan per total user.
user-quota=12
total-quota=1200
Pada opsi user-quota di atas di set ke 12 maksudnya, 4 stream per video call, jadi 3 simultan relay call per usernya.
Sedangkan untuk total-quota adalah total user quota.
Pada konfigurasi /etc/turnserver.conf terdapat opsi untuk TLS/DTLS yang berfungsi untuk melakukan proteksi tambahan terhadap peer-to-peer encrypted koneksi. Tapi dalam sesi latihan kali ini sayangnya saya cuma sekedar buat test dan demonstrasikan saja, jadi kita tidak menggunakan fungsi ini dulu. Jika kebutuhan production server, lebih di rekomendasikan menggunakan fungsi TLS/DTLS ini.
Restart Coturn
Setelah semua selesai, restart coturn.
systemctl restart coturn
Konfigurasi Matrix Synapse
Setelah semuanya selesai, yang terakhir adalah melakukan tambahan konfigurasi di /etc/matrix-synapse/homeserver.yaml terhadap turn server yang baru saja kita install & configure. Pada dasarnya kita cukup tambahkan saja di bawahnya lagi untuk konfigurasi ini.
turn_uris: [ "turn:hostname-server?transport=udp", "turn:hostname-server?transport=tcp" ]
turn_shared_secret: "turn-shared-secret"
turn_user_lifetime: 86400000
turn_allow_guests: True
Dengan keterangan sebagai berikut :
- Ubah value dari hostname-server ke actual hostname server kamu.
- Pada opsi turn_uris bisa ditambahkan protokol apa saja yang support di server, apakah tcp dan udp, atau hanya salah satu diantaranya saja.
- Value dari turn_shared_secret adalah value dari opsi static-auth-secret.
Jika sudah save, lalu restart Matrix Synapse.
systemctl restart matrix-synapse
Kemudian lakukan pengecekan dengan cara initiate VoIP dan Video Call ke rekanmu. Jika belum berhasil, biasanya masih ada restrict pada bagian firewall. Detail informasi ini bisa kamu cek di sini.