Troubleshooting Virual Room DI carbonio Enterprise Edition

Jadi waktu saya lagi deploy Carbonio untuk menambahkan node baru, ada satu masalah yang lumayan bikin pusing. Masalahnya adalah koneksi gak bisa join ke Virtual Room. Nah, mungkin ada yang belum tahu apa itu Virtual Room. Di Carbonio ada fitur bernama Meeting, mirip seperti Zoom atau Google Meet. Bedanya, ini adalah fitur native bawaan Carbonio, jadi gak perlu lisensi tambahan apa pun. Bahkan di versi Carbonio CE pun fitur ini sudah tersedia, hanya saja waktu itu saya deploy di edisi Enterprise.

Skenarionya saya punya 4 node dengan konfigurasi tertentu, lalu saya tambahkan satu node lagi (node ke-5) karena kebutuhan speknya cukup tinggi. Jadi biar lebih efisien, Video Server saya pisahkan ke node khusus. Proses deployment awalnya berjalan normal, semua service sudah jalan, node ke-5 juga sudah aktif. Tapi masalah muncul ketika fitur Meeting dicoba. Tombol untuk membuat meeting gak bisa dipencet sama sekali. Padahal untuk voice dan video call masih aman, hanya fitur meeting room yang bermasalah.

Mulailah saya troubleshooting. Dari cek konfigurasi, periksa log, sampai utak-atik parameter. Salah satu hal yang saya temukan adalah soal konfigurasi nat_1_1_mapping. Awalnya saya arahkan ke localhost, dan setelah beberapa kali percobaan akhirnya masalah teratasi. Jadi catatan pentingnya: kalau kalian deploy hanya untuk testing, cukup arahkan nat_1_1_mapping ke 127.0.0.1. Tapi kalau deploy di production, parameter ini harus diarahkan ke IP publik.

Kenapa hal ini penting? Karena di balik Video Server Carbonio sebenarnya menggunakan Janus WebRTC Gateway. Secara default, Janus saat melakukan proses ICE negotiation akan mengiklankan alamat IP internalnya ke klien. Masalahnya, IP internal ini tidak akan bisa dijangkau oleh user dari luar jaringan. Di sinilah fungsi nat_1_1_mapping. Parameter ini membuat mapping eksplisit antara IP private dengan IP publik, sehingga ketika Janus menghasilkan ICE candidate, alamat internal otomatis diganti dengan alamat eksternal yang bisa dijangkau. Hasilnya, user dari luar bisa berhasil join ke meeting karena mereka diarahkan ke IP publik yang valid.

Tapi ada catatan tambahan: kalau kalian punya skenario di mana ada user internal dan eksternal sekaligus, penggunaan nat_1_1_mapping harus hati-hati. Kalau diset ke IP publik, semua klien (termasuk internal) akan diarahkan ke IP publik. Nah, kalau infrastruktur kalian tidak mendukung hairpin NAT (NAT loopback), user internal bisa gagal koneksi. Jadi pastikan dulu apakah IP publik itu bisa diakses baik dari luar maupun dalam jaringan. Kalau tidak, mungkin perlu penyesuaian di level network supaya semua user bisa terhubung dengan lancar.

Singkatnya, masalah tombol meeting yang gak bisa ditekan itu ternyata akar penyebabnya ada di konfigurasi NAT ini. Setelah diatur dengan benar, semua fitur meeting langsung berjalan normal. Jadi kesimpulannya, kalau kalian ketemu error serupa, jangan lupa cek konfigurasi nat_1_1_mapping di Video Server Carbonio kalian.

Leave a Reply

Your email address will not be published. Required fields are marked *