Interkoneksi IP PBX Dengan IAX2 Trunk

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:

  1. 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.
  2. 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.
  3. 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

  1. Dalam contoh setup ini akan digunakan dua buah IP PBX Elastix untuk dua buah kantor (Kantor A dan Kantor B).
  2. 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).
  3. Semua ekstensi dibuat dengan opsi n at=yes atau nat=force_rport,comedia untuk mengantisipasi one way audio .
  4. IP address Elastix kantor A adalah 10.0.1.10 , dan untuk Kantor B 10.0.2.20.
  5. 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

  1. 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.
  2. 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.

IAX2 trunk|1008x348

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

  1. 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).
  2. Lakukan panggilan dari ekstensi 1002 ( x1002 ) ke ekstensi 2001 ( x2001 ) untuk test trunk dari IP PBX Kantor A ke IP PBX Kantor B.
  3. Lakukan panggilan dari ekstensi 2003 ( x2003 ) ke ekstensi 1001 ( x1001 ) untuk test trunk dari IP PBX Kantor B ke IP PBX Kantor A.
  4. 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!

1 Like

Terima kasih om, wait akan dicoba segera. :hugs: :hugs:

1 Like

boleh tanya om kira2 iax2 trunk aman ga karena memakai ip public?
trus apakah ada cara dengan vpn gitu melalui protocol iax2 atau sip koneksi 2 server ip pbx
terimakasih?

pakai ip public selama yang diallow cuma ip address peer nya saja sih aman2 saja menurutku. Yang paling aman ya pake vpn. cara nya VPN dengan link biasa sama kok settingnya ndak ada perbedaan. selama ip address bisa saling ping dan port 4569 udp/tcp dilewatkan antar peer vpnnya ya seperti LAN biasa.

Thanks pak godril tutorialnya sangat membantu sekali. Izin bertanya, apakah memungkinkan dengan konfigurasi seperti ini kantor A bisa dial-out menggukan pstn kantor B.

Pertanyaan tersebut saya asumsikan kantor A berada di Jakarta dan kantor B berada di Bandung. Agar menekan biaya yg muncul sewaktu kantor A melakukan panggilan nomor ke area Bandung maka diarahkan ke nomor pstn kantor B.

Sekali lagi saya ucapkan terima kasih.

Sangat memungkinkan sekali. Ini istilahnya TEHO (Tail End Hop Off) atau toll bypass, dan sudah umum sekali.

Tinggal melakukan pengaturan dialplan saja. Misal di PBX kantor A, untuk outbound route ke kantor B, ditambahkan rule panggilan 022NXXXX. (untuk memastikan panjangnya pattern mencakup panjang nomor kode area Bandung).

Hallo pak , maaf mau bertanya sabelumnya saya pemula disini dan masih belajar
saya sudah coba menggunakan cara di atas dan berhasil tapi tidak lama jdi tidak bisa pak notif nya busy now , mohon panduannya pak terkait permasalahan saya,

setiap kali call ext nya malah lari ke SIP engga ke IAX2, apakah ada yg salah pada saat saya seting, mohon pencerahannya guru