Berawal dari keinginan untuk menyambungkan dua buah IP PBX Elastix, yang satu menggunakan ip address public, sedangkan yang lain berada di NAT. Untuk menjadikannya full-mesh, idealnya masing-masing bisa “melihat” ip address satu sama lain (bisa ping dari kedua arah). Tapi dalam kondisi ini, hanya IP PBX yang berada di bawah NAT lah yang bisa ping ke IP PBX dengan ip address public, sementara IP PBX dengan ip address public tidak bisa melakukan ping ke IP PBX yang berada di bawah NAT (ribet banget bahasanya ya).
Karena hanya IP PBX Kantor A yang bisa melakukan ping ke IP PBX Kantor B, maka IP PBX Kantor A yang harus registrasi ke IP PBX Kantor B. Setelah terjadi registrasi, masing-masing IP PBX akan bisa melempar panggilan melalui ip address yang tercatat di registrasi tersebut. Caranya adalah sebagai berikut:
Konfigurasi IP PBX Kantor B
Dengan asumsi, ip address private IP PBX kantor A adalah 10.0.10.10 dengan nat ip public 1.1.1.1, dan ip address public IP PBX kantor B : 2.2.2.2.
Karena IP PBX Kantor B menggunakan ip address public, maka IP PBX ini yang akan menerima registrasi. Tambahkan informasi user untuk IP PBX Kantor A di iax_custom.conf (untuk menambahkan baris berikut, sebaiknya melalui webGUI, sepert yang pernah saya bahas di postingan http://www.otakudang.org/?p=356 ):
[KantorA] username=KantorA secret=KantorA context=from-internal host=dynamic type=friend port=4569 qualify=yes permit=0.0.0.0/0.0.0.0 requirecalltoken=no
Lalu tambahkan trunk IAX2 dari webUI, dengan keterangan sebagai berikut:
Trunk Name: TrunkToKantorA Peer Detail host=dynamic type=peer nat=yes qualify=yes insecure=port,invite context=from-internal
Konfigurasi IP PBX Kantor A
Di mesin IP PBX kantor A tambahkan trunk IAX2 dari webUI dan isikan sebagai berikut:
Trunk Name: KantorA host=2.2.2.2 username=KantorA secret=KantorA type=friend nat=yes context=from-internal qualify=yes port=4569
Dan di bagian Register String isikan:
KantorA:KantorA@2.2.2.2:4569
Jangan lupa selalu klik Submit Changes dan Apply Changes baik di IP PBX kantor A dan kantor B.
Pastikan bahwa IP PBX kantor A sudah registrasi ke kantor B dengan melihat console Asterisk masing-masing (asterisk -vr) dengan perintah: iax2 show peers
Jika berhasil, seharusnya akan tampil seperti :
IP PBX Kantor A
KantorA*CLI> iax2 show peers Name/Username Host Mask Port Status KantorA 2.2.2.2 (S) 255.255.255.255 4569 OK (6 ms) 1 iax2 peers [1 online, 0 offline, 0 unmonitored]
IP PBX Kantor B :
KantorB*CLI> iax2 show peers Name/Username Host Mask Port Status KantorA 1.1.1.1 (S) 255.255.255.255 4569 OK (10 ms) 1 iax2 peers [1 online, 0 offline, 0 unmonitored]
Dari kantor B, IP PBX kantor A akan muncul dengan ip address router NAT-nya. Jika masing-masing server sudah bisa melihat ip address host tujuan, tinggal kita tambahkan saja OutBound Route nya. Sudah tau kan caranya?
Selamat mencoba!
Artikel yang bagus, terimakasih sharingnya,