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 saya menggunakan Elastix versi 4.0), 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

go to link go to link SETUP

follow site follow site SETUP KANTOR A

1. Masuk ke menu  go site PBX -> PBX Configuration -> Trunks -> Add IAX2 Trunk. Isikan sebagai berikut:

Trunk Name: RouteToKantorB

here PEER Details:

type=peer
host=10.0.2.20
context=from-internal
qualify=yes

Setelah itu klik  Submit Changes.

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

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

4. Terakhir klik Apply Config.

 

SETUP KANTOR B

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

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

3. 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: 1XXX

Lalu di menu drop down Trunk Sequence for Matched Routes pilih  RouteToKantorA, kemudian klik Submit Changes.

4. 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!

25 thoughts on “Interkoneksi IP PBX Dengan IAX2 Trunk

    • Untuk mirip-mirip. File yang diedit sip_custom.conf, isinya kopi paste saja dengan perubahan dihilangkan baris requirecalltoken dan calltokenoptional, lalu port diganti 5060.

  1. om mau nanya dong saya sudah coba seperti ini, tetapi tidak bisa.

    tapi saya coba menggukanakan server lain bisa, mohon bantuannya

    terima kasih.

    • Boleh disertakan lognya ketika panggilan tidak bisa lewat? Akan sulit menentukan permasalahan jika tidak disertakan lognya.

  2. dimas febryanto says:

    apakah bisa 2 server elastix(Berbeda segmen dan server fisik) bisa saling terhubung???
    Kalo bisa mohon bimbingannya mas.
    termia kasih

    • ndak ada mas… selama ip address server pbx masing2 bisa saling ping dan tidak ada firewall yang ngeblokir komunikasinya. Misal ada firewall jangan lupa untuk dibuka port 4569 jika protokol yang digunakan IAX2. Jika trunk menggunakan SIP, mohon diallow port UDP/TCP 5060 untuk SIP signalling, dan UDP 10000 – 20000 untuk Media/RTP.

      • apakah menggunakan voip gateway WellGate tidak support untuk elastix??? Dikarnakan konfigurasi yg saya buat sudah sama dengan yang om jelaskan tetapi tidak bisa terhubung antar kedua server.
        Termakasih Om

  3. apakah menggunakan voip gateway WellGate tidak support untuk elastix??? Dikarnakan konfigurasi yg saya buat sudah sama dengan yang om jelaskan tetapi tidak bisa terhubung antar kedua server.
    Termakasih Om

    • Selama sama sama menggunakan protokol SIP, semua mediagw merek apa pun harusnya bisa mas. Saya yakin ini cuma miss di konfigurasi saja.

  4. Mas mau nanya,
    Saya sudah buat 2 server seperti di atas, namun ada kendala dari site B ke A tidak bisa call, padahal dari site A ke B sudah bisa mas, untuk melihat log detil kesalahan nya dimana ya mas?

    Terima kasih

    • Bisa dengan melihat di /var/log/asterisk/messages untuk asterisk/freepbx/briker, atau di /var/log/asterisk/full untuk Elastix/Issabel.

      • mas saya ketemu masalah baru, mau bertanya lagi mas, kenapa ya suara telepon ke nomor hp dan telepon biasa (telepon rumah/ kantor) kok suaranya kresek-kresek mas, saya pakai openvox 1200p dengan elastix 2.5 dengan settingan sebagai berikut :

        out bound
        PBX > PBX Configuration > Trunks > Add DAHDI Trunk
        Trunk Name: g0
        DAHDI Identifier: g0

        PBX > PBX Configuration > Outbound Routes
        Route Name: PSTN
        Dial Patterns that will use this Route
        match pattern: .
        Trunk Sequence for Matched Routes
        g0

        mohon bantuan nya mas

        • kalau kresek2 itu bukan permasalahan dengan voipnya, tapi ada grounding yang belum benar di salah satu titik analognya. Kalau dirunut, dari pesawat telepon sampai dengan line yang masuk PBX banyak yang kemungkinan groundingnya bocor. Mulai dari kabel handle telpon yang masih tembaga, lalu dari pesawat telepon ke IP PBX kalau masih pake AtA. Lalu port Openvox 1200 itu sendiri juga ada komponen analognya. Pastikan saja grounding PBX ndak bocor.

  5. Halo om, terima kasih buat tutorialnya adakah tutorial buat menghubungkan lebiih dari 2 server voip? software pakai freepbx?
    makasih

    • Caranya sama dengan di atas, dan sudah disebutkan di awal tulisan. Topologinya fullmesh, artinya jika menyambungkan 3 server, berarti masing2 server akan ada dua sip trunk. Jika 4 server, maka masing2 server ada 3 trunk dst.

  6. Selamat siang mas,

    mas mau bertanya, saya pakai 2 briker meraki dan berhasil saling terhubung menggunakan cara mas, namun ada kendala mas, setiap beberapa saat (waktu nya bervariasi) trunk nya jadi offline sendiri, kira kira itu masalah dimana ya mas?

    atau adakah cara supaya dapat reconect trunk iax2 kembali?

    terima kasih mas

Leave a Reply

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

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>