Sebenarnya ini tema lama, tapi baru kesampaian posting kali ini, karena masih banyak yang menanyakan. Setup ini untuk menghubungkan dua atau lebih site yang menggunakan IP PBX Asterisk (khusus postingan ini jamannya saya masih menggunakan Elastix versi 4.0, tapi bisa juga dengan Briker, Issabel ataupun FreePBX distro, tidak masalah), sehingga dial antar ekstensi di kedua site bisa dilakukan dengan mudah, yaitu dengan hanya menekan nomer ekstensi langsung. Untuk dua sampai dengan 7 site, cara ini memang masih bisa digunakan. Jumlah trunk yang harus disetup untuk menghasilkan full mesh trunk network bisa didapatkan dengan rumus:
n x (n – 1)
Jadi, jika kita hendak menyambungkan 7 IP PBX sekaligus, maka akan dibutuhkan sebanyak 7 x (7 – 1) = 42 trunk!
Untuk interkoneksi IP PBX dengan jumlah lebih itu, setup menjadi rumit dan disarankan menggunakan DUNDi(Distributed Universal Numbering Discovery). Lain kali kalau ada waktu dan server buat bermain akan saya bahas di sini.
Yang perlu disiapkan adalah sebagai berikut:
- Jika kedua site berada di dua network/tempat/kota yang berbeda, sangar disarankan koneksi antar site menggunakan VPN (PPTP, L2TP, OpenVPN, VPLS, MPLS, EoIPdll). Dan apabila sangat terpaksa menggunakan ip address public, letakkan server IP PBX di bawah router/firewall dan lakukan port forward saja (jangan 1:1 Nat!!!). Trunk menggunakan IAX2, port forward menjadi mudah karena hanya dibutuhkan satu port untuk signalling dan media stream, yaitu port TCP/UDP 4569.
- Perencanaan penomoran ekstensi. Ini sangat penting karena untuk mempermudah routing panggilan. Jika memiliki dua buah IP PBX yang hendak diinterkoneksi, gunakan kepala ekstensi yang berbeda, misal kantor A menggunakan 4 digit dengan kepala 1 (1001, 1002, 1003, dst), lalu kantor B menggunakan 4 ekstensi dengan kepala 2 (2001, 2002, 2003, dst). Sebagai saran tambahan, jika site mencapai lebih dari 7 dan tetap akan menggunakan interkoneksi cara ini, tambahkan digit ekstensi, misal menjadi 5 atau 6 digit. Kelak akan sangat membantu jika kita hendak menggunakan prefix tambahan (misal untuk trunk ke PSTN/ITSP), atau jumlah site mencapai lebih dari 10 site.
- Trunk yang akan digunakan adalah IAX2 jika masing-masing IP PBX adalah Asterisk based. Jika tidak, bisa menggunakan SIP. Alasan menggunakan IAX2 karena hanya menggunakan satu port untuk signalling dan media stream (SIP menggunakan port signalling yang berbeda dengan media stream), sehingga pengaturan di firewall cukup mudah. Selain itu IAX2 memang didesain untuk mengatasi permasalahan NAT.
ASUMSI
- Dalam contoh setup ini akan digunakan dua buah IP PBX Elastix untuk dua buah kantor (Kantor A dan Kantor B).
- Masing-masing kantor memiliki ekstensi dengan panjang 4 digit dengan awalan berbeda. Kantor A berawalan 1 (1001, 1002, 1003), dan kantor B berawalan 2 (2001, 2002, 2003).
- Semua ekstensi dibuat dengan opsi n at=yes atau nat=force_rport,comedia untuk mengantisipasi one way audio .
- IP address Elastix kantor A adalah 10.0.1.10 , dan untuk Kantor B 10.0.2.20.
- Saya menganggap tidak perlu lagi melakukan screenshot untuk lokasi menu WebGUI karena menu-menu di WebGUI Elastix sudah cukup jelas dan mudah diikuti hanya dengan petunjuk tulisan.
SKENARIO
- IP PBX kantor A akan merigstrasikan diri ke IP PBX kantor B, sehingga semua ekstensi di Kantor A bisa melakukan panggilan ke ekstensi di Kantor B hanya cukup dengan menekan nomer ekstensi yang dituju (tanpa prefix). Pada gambar skema di bawah, trunk Kantor A menuju Kantor B digambarkan dengan garis penuh warna merah. Sedangkan panggilan dari ekstensi Kantor A ke ekstensi Kantor B digambarkan dengan garis putus-putus warna merah.
- IP PBX kantor B akan meregistrasikan diri ke IP PBX kantor A, sehingga semua ekstensi di Kantor B bisa melakukan panggilan ke ekstensi di Kantor A hanya cukup dengan menekan nomer ekstensi yang dituju (tanpa prefix). Pada gambar skema d bawah, trunk kantor B menuju Kantor A digambarkan dengan garis penuh warna biru. Sedangkan panggilan dari ekstensi Kantor B ke ekstensi Kantor A digambarkan dengan garis dengan garis putus-putus warna biru.
SETUP
SETUP KANTOR A
Masuk ke menu PBX -> PBX Configuration -> Trunks -> Add IAX2 Trunk . Isikan sebagai berikut:
Trunk Name: RouteToKantorB
PEER Details:
type=peer
host=10.0.2.20
context=from-internal
qualify=yes
Setelah itu klik Submit Changes .
Pilih menu PBX -> Tools -> Asterisk File Editor -> Show Filter . Isikan pada filter: iax_custom lalu klik nama file iax_custom.conf . Isikan seperti berikut:
[RouteToKantorB]
deny=0.0.0.0/0.0.0.0
context=from-internal
host=dynamic
type=friend
port=4569
qualify=yes
permit=10.0.2.20/255.255.255.255
requirecalltoken=no
calltokenoptional=0.0.0.0/0.0.0.0
Klik Save dan Reload Asterisk .
Pilih menu PBX -> PBX Configuration -> Outbound Routes -> Add Route . Lalu isikan sebagai berikut:
Route Name: ToKantorB
Di bawah opsi Dial Patterns that will use this Route isikan pada kotak match pattern: 2XXX
Lalu di menu drop down Trunk Sequence for Matched Routes pilih RouteToKantorB , kemudian klik Submit Changes .
Terakhir klik Apply Config .
SETUP KANTOR B
Masuk ke menu PBX -> PBX Configuration -> Trunks -> Add IAX2 Trunk . Isikan sebagai berikut:
Trunk Name: RouteToKantorA
PEER Details:
type=peer
host=10.0.1.10
context=from-internal
qualify=yes
Setelah itu klik Submit Changes .
Pilih menu PBX -> Tools -> Asterisk File Editor -> Show Filter . Isikan pada filter: iax_custom lalu klik nama file iax_custom.conf . Isikan seperti berikut:
[RouteToKantorA]
deny=0.0.0.0/0.0.0.0
context=from-internal
host=dynamic
type=friend
port=4569
qualify=yes
permit=10.0.1.10/255.255.255.255
requirecalltoken=no
calltokenoptional=0.0.0.0/0.0.0.0
Klik Save dan Reload Asterisk .
Pilih menu PBX -> PBX Configuration -> Outbound Routes -> Add Route . Lalu isikan sebagai berikut:
Route Name: ToKantorA
Di bawah opsi Dial Patterns that will use this Route isikan pada kotak match pattern: 1 XXX
Lalu di menu drop down Trunk Sequence for Matched Routes pilih RouteToKantorA , kemudian klik Submit Changes .
Terakhir klik Apply Config .
TEST
- Register ekstensi-ekstensi yang diperlukan untuk test seperti pada gambar di atas (1001 dan 1002 untuk IP PBX Kantor A. 2001 dan 2003 untuk IP PBX Kantor B).
- Lakukan panggilan dari ekstensi 1002 ( x1002 ) ke ekstensi 2001 ( x2001 ) untuk test trunk dari IP PBX Kantor A ke IP PBX Kantor B.
- Lakukan panggilan dari ekstensi 2003 ( x2003 ) ke ekstensi 1001 ( x1001 ) untuk test trunk dari IP PBX Kantor B ke IP PBX Kantor A.
- Jika tidak ada kendala, masing-masing ekstensi dari IP PBX yang berbeda seharusnya sudah bisa tersambung dan saling bicara. Jika masih belum bisa, ikuti baik-baik langkah di atas, mungkin ada yang terlewat.
Selamat mencoba!