Installation Digium TE121BF, Asterisk, Dahdi, Libpri, Xen(domU)

Tujuan instalasi ini adalah membuat PBX berbasis software dengan Asterisk dan Digium Digital Telephony Card, untuk disambungkan ke perangkat Telkom E1 ISDN PRA.  Hasil akhir instalasi ini digunakan untuk call centre dan help desk sebuah perusahaan customer services  di  Tangerang.

Kebutuhannya :
1. Server dengan OS Linux menggunakan distro Centos 5.5 berjalan dalam model Virtual server menggunakan Xen Server(dom0).
2. Server Asterisk dan perangkat Digium Digital Telephony Card berjalan dalam Centos 5.5 Xen(domU.)
3. Digium Digital Telephony Card menggunakan Digium TE121BF dengan fasilitas utama T1/E1/J1/PRI PCI-Express x1 card and hardware echo cancellation
4. Perangkat dan instalasi Telkom E1 ISDN PRA
5. Helpdesk menggunakan softphone dan Cisco SPA 502G 1-Line IP Phone

Untuk point 1,2,3, dan testing di 5 dikerjakan oleh saya, dan point 4 dikerjakan oleh pihak Telkom.

Point 1 servernya sudah berjalan dan berisi DNS,Email,Webserver,Proxy,Database,Fileserver semua berjalan dalam model virtual server, untuk keperluan instalasi ini diperlukan domU baru dan tantangannya menempatkan Digium TE121BF hanya di domU, jadi tidak di dom0, istilahnya dalam Xen adalah pciback.

Digium TE121BF PCIexpress card dibeli melalui Digium distributor di Malaysia sekitar US$800, Layanan Telkom E1 ISDN PRA untuk sambungan baru ke kantor perusahaan ini kena biaya pasang sekitar Rp 10 juta, Cisco SPA 502G sekitar US$106, yang lainnya free memakai software opensource OS Linux.

Okay selesai bicara teori dan sekarang praktek dan saya mau bagi ilmunya melalui dokumenasi yang sempat saya buatkan.

Point 1.  Server dengan OS Linux menggunakan distro Centos 5.5 sudah terinstall dan berjalan dalam model Virtual server menggunakan Xen Server(dom0).  Tinggal create guest domain baru atau domU baru untuk instalasi keperluan Asterisk  diatas. Pembuatan domU dikerjakan oleh Xen melalui dom0.

Setelah domU untuk server Asterisk dibuat, kita matikan dahulu Server (jangan lupa matikan terlebih dahulu satu persatu domU sebelum shutdown mesin). Kemudian pasang Digium TE121BF card, buka casing dan pada motherboard, pasang card tersebut pada slot PCIExpress tipe x1 yang lebih kecil dibandingkan slot PCI tipe normal dan tipe x4/16. Setelah terpasang kita hidupkan kembali server.

Setelah server up, kita masuk ke dom0 dan cek keberadaan card dengan lspci :

[root@ID41-ND201 ~]# lspci
00:00.0 Host bridge: Intel Corporation 4 Series Chipset DRAM Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation 4 Series Chipset PCI Express Root Port (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 1
00:1c.2 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 3
00:1c.4 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 5
00:1c.5 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 6
00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)
00:1f.0 ISA bridge: Intel Corporation 82801JIB (ICH10) LPC Interface Controller
00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller
00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller
01:00.0 VGA compatible controller: nVidia Corporation G73 [GeForce 7300 GT] (rev a1)
03:00.0 PCI bridge: Texas Instruments XIO2000(A)/XIO2200(A) PCI Express-to-PCI Bridge (rev 03)
04:08.0 Ethernet controller: Digium, Inc. Wildcard TE121 single-span T1/E1/J1 card (PCI-Express) (rev 11)
05:00.0 IDE interface: JMicron Technology Corp. JMB368 IDE controller
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
07:00.0 Ethernet controller: D-Link System Inc RTL8139 Ethernet (rev 10)
07:01.0 Ethernet controller: D-Link System Inc DGE-530T Gigabit Ethernet Adapter (rev 11) (rev 11)

Tanda yang di bold adalah identifikasi card yang tadi sudah terpasang. Berarti Centos 5.5 mendeteksi baik card ini.

Masih dalam dom0 kita akan konfigurasikan agar card ini masuk ke domU asterisk yang sudah saya buat sebelumnya atau konfigurasi pciback module.

Tambahkan options pciback hide=(0000:04:08.0) pada modprobe.conf vi /etc/modprobe.conf

[root@ID41-ND201 ~]# cat /etc/modprobe.conf
alias scsi_hostadapter ahci
alias scsi_hostadapter1 ata_piix
remove snd-hda-intel { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r –ignore-remove snd-hda-intel
alias eth0 r8169
alias snd-card-0 snd-hda-intel
options snd-card-0 index=0
alias eth1 3c59x
alias eth2 8139too
alias eth3 skge
alias eth skge
options pciback hide=(0000:04:08.0)
Kemudian buat file initrd agar maload pciback module sebelum modules lain:

[root@ID41-ND201 ~]# mkinitrd -f –preload=pciback /boot/initrd-$(uname -r).img $(uname -r)

Saya tambahkan pci = [ ’04:08.0′ ]  pada file konfigurasi domU

[root@ID41-ND201 ~]# vi /etc/xen/domU-ID41-ND015
name = “domU-ID41-ND015”
memory = “384”
pci = [ ’04:08.0′ ]
disk = [‘tap:aio:/dev/vg0/domU-ID41-ND015,xvda,w’,
‘tap:aio:/dev/vg0/domU-ID41-ND015-swap,xvdb,w’,
‘tap:aio:/dev/vg0/domU-ID41-ND015-opt,xvdc,w’]
vif = [ ‘mac=00:16:3E:5B:5D:62,bridge=id41br’ ]
bootloader=”/usr/bin/pygrub”
vcpus=1
on_reboot = ‘restart’
on_crash = ‘restart’

Selesai pada dom0(ID41-ND201) saya pindah ke domU.

[root@ID41-ND201 ~]# xm console domU-ID41-ND015

Edit /boot/grub/menu.lst  untuk menambahkan swiotlb=force hal ini untuk menghindari kernel panic pada domU Asterisk(domU-ID41-ND015)  saat dijalankan.

[root@ID41-ND015 ~]# vi /boot/grub/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.11.1.el5xen)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-194.11.1.el5xen ro root=LABEL=/ console=xvc00
swiotlb=force
initrd /boot/initrd-2.6.18-194.11.1.el5xen.img
title CentOS (2.6.18-194.11.1.el5)
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-194.11.1.el5 ro root=LABEL=/ console=xvc0
initrd /boot/initrd-2.6.18-194.11.1.el5.img
title CentOS (2.6.18-194.8.1.el5xen)

Kemudian kembali ke dom0 dan restart server.

[root@ID41-ND201 ~]# reboot

Setelah login saya masuk ke domU kembali
[root@ID41-ND201 ~]# xm console domU-ID41-ND015
INIT: version 2.86 reloading

CentOS release 5.5 (Final)
Kernel 2.6.18-194.11.1.el5xen on an x86_64

ID41-ND015.xxxx.com login:
CentOS release 5.5 (Final)
Kernel 2.6.18-194.11.1.el5xen on an x86_64

[root@ID41-ND015 ~]# lspci
00:00.0 Ethernet controller: Digium, Inc. Wildcard TE121 single-span T1/E1/J1 card (PCI-Express) (rev 11)
[root@ID41-ND015 ~]#

Horeee………pciback module berjalan di domU.

Setelah ini tinggal konfigurasi point 2 dan 3  Instalasi Asterisk® / DAHDI / Libpri

[root@ID41-ND015 ~]# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.2.11.tar.gz
[root@ID41-ND015 ~]# tar -zxvf asterisk-1.6.2.11.tar.gz
[root@ID41-ND015 ~] # cd asterisk-1.6.2.11
[root@ID41-ND015 ~]# ./configure
[root@ID41-ND015 ~] # make menuselect
[root@ID41-ND015 ~]# make
[root@ID41-ND015 ~]# make install
[root@ID41-ND015 ~]# make samples

[root@ID41-ND015 ~]# wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.2.8.tar.gz
[root@ID41-ND015 ~] # tar -zxvf libpri-1.2.8.tar.gz
[root@ID41-ND015 ~] # cd libpri-1.2.8
[root@ID41-ND015 ~] # make
[root@ID41-ND015 ~] # make install

[root@ID41-ND015 ~]# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.4.0+2.4.0.tar.gz
[root@ID41-ND015 ~] # tar -zxvf dahdi-linux-complete-2.4.0+2.4.0.tar.gz
[root@ID41-ND015 ~] # cd dahdi-linux-complete-2.4.0+2.4.0
[root@ID41-ND015 ~] # make
[root@ID41-ND015 ~] # make install

Beberapa settingan untuk bisa berhubungan dengan layanan Telkom E1 ISDN PRA
[root@ID41-ND015 ~]# vi /etc/asterisk/chan_dahdi.conf
[trunkgroups]
national:    National ISDN 2 (default)
dms100:      Nortel DMS100
4ess:        AT&T 4ESS
5ess:        Lucent 5ESS
euroisdn:    EuroISDN (common in Europe)
ni1:         Old National ISDN 1
qsig:        Q.SIG
usecallerid=yes
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
group=1
callgroup=1
pickupgroup=1
signalling = pri_cpe
switchtype = euroisdn
context = incoming
channel => 1-15,17-31

[root@ID41-ND015 asterisk]# vi /etc/dahdi/system.conf
loadzone = us
defaultzone=us

span = 1,1,0,ccs,hdb3
bchan = 1-15,17-31
dchan = 16
echocanceller = mg2,1-15,17-31

[root@ID41-ND015 dahdi]# vi /etc/dahdi/modules
wcte12xp
[root@ID41-ND015 ~]# /etc/init.d/asterisk start

[root@ID41-ND015 asterisk]# ps axf |grep asterisk
1939 pts/1    T      0:00          \_ less /var/log/asterisk/event_log
2620 pts/1    S+     0:00          \_ grep asterisk
3956 ?        S      0:00 /bin/sh /usr/sbin/safe_asterisk
3966 ?        Sl     0:02  \_ /usr/sbin/asterisk -f -vvvg -c
[root@ID41-ND015 asterisk]#

[root@ID41-ND015 asterisk]#  dahdi_cfg -vv
[root@ID41-ND015 dahdi]# /etc/init.d/dahdi start

[root@ID41-ND015 asterisk]# lsmod |grep dahdi
dahdi_echocan_mg2      39688  30
dahdi_voicebus         79424  1 wcte12xp
dahdi                 238384  67 dahdi_echocan_mg2,wcte12xp,dahdi_voicebus
crc_ccitt              35265  1 dahdi
[root@ID41-ND015 asterisk]#

[root@ID41-ND015 ~]# dahdi_tool

DAHDI Tool (C)2002-2008 Digium, Inc.

+———————+ DAHDI Telephony Interfaces +—————+
|                                                                        |
|     Alarms          Span                                               |
|     RED             Wildcard TE121 Card 0                           ^  |
|                                                                     :  |
|                                                                     :  |
|                                                                     :  |
|                                                                     :  |
|                                                                     :  |
|                                                                     :  |
|                                                                     :  |
|                                                                     #  |
|                                                                     v  |
|                                                                        |
|                                                                        |
|          +——–+                              +——+              |
|          | Select |                              | Quit |              |
|          +——–+                              +——+              |
|                                                                        |
+———————————————————————+

Span 1: 31 total channels, 31 configured                    F1=Details F10=Quit

quit.

Alarm masih RED karena kabel dari Telkom ISDN belum selesai di pasang.

[root@ID41-ND015 asterisk]# less /var/log/asterisk/queue_log
1279525356|1279525345.6|NONE|Agent/1234|AGENTLOGIN|SIP/henryg-00000006
1279525383|1279525371.7|queue-customer-service|NONE|ENTERQUEUE||henryg
1279525383|1279525371.7|queue-customer-service|Agent/1234|CONNECT|0|1279525383.8|0
1279525403|1279525371.7|queue-customer-service|Agent/1234|COMPLETECALLER|0|20|1
1279525406|1279525345.6|NONE|Agent/1234|AGENTLOGOFF|SIP/henryg-00000006|50
1279692470|NONE|NONE|NONE|QUEUESTART|

[root@ID41-ND015 log]# cat messages |grep dahdi

Aug 30 20:51:29 ID41-ND015 kernel: dahdi: Telephony Interface Registered on major 196
Aug 30 20:51:29 ID41-ND015 kernel: dahdi: Version: 2.3.0.1
Aug 30 20:51:32 ID41-ND015 kernel: dahdi: Registered tone zone 0 (United States / North America)
Aug 30 20:56:37 ID41-ND015 kernel: dahdi: Telephony Interface Unloaded
Aug 30 20:56:37 ID41-ND015 kernel: dahdi: Telephony Interface Registered on major 196
Aug 30 20:56:37 ID41-ND015 kernel: dahdi: Version: 2.3.0.1
Aug 30 20:57:17 ID41-ND015 kernel: dahdi: Telephony Interface Unloaded
Aug 30 20:57:17 ID41-ND015 kernel: dahdi: Telephony Interface Registered on major 196
Aug 30 20:57:17 ID41-ND015 kernel: dahdi: Version: 2.3.0.1
Aug 30 20:57:19 ID41-ND015 kernel: dahdi_echocan_mg2: Registered echo canceler ‘MG2’
Aug 30 20:57:19 ID41-ND015 kernel: dahdi: Registered tone zone 0 (United States / North America)

Sampai disini selesai, dokumentasi selanjutnya pembuatan Dialplan dan testing ke Telkom ISDN PRA yang sampai artikel ini ditulis pihak Telkom belum selesai mengerjakannya.

4 thoughts on “Installation Digium TE121BF, Asterisk, Dahdi, Libpri, Xen(domU)

  1. Danar

    makasih tutornya pak..
    belajar IT harus dicoba dan dipraktekkan biar mengerti dan bisa tahu semuanya….

    salam, Danar
    “ilmu pengetahuan adalah milik bersama”

  2. endar

    pak,

    mohon pencerahannya..

    saya sudah mencoba mengikuti settingan bapak pada file /etc/asterisk/chan_dahdi.conf
    namun saya belum berhasil melakukan dial..

    apakah ada settingan khusus pada trunk nya pak?

    thx..

  3. umar

    maaf pak..dari beberapa pengalaman yang ada. apa pernah bermasalah pada saat instalasi OS nya. kebutuhan yang disesuaikan dengan Hardware, Infrastruktur Jaringan, atau OS yang sesuai dengan kebutuhanya.
    misalnya kenapa pake Centos 5.5 di asterisk, kenapa pake Debian Lenny untuk DNS/Proxy/DHCP, belum lagi masing2 distro linux yang berbeda versinya. Meskipun Konfigurasinya sama atau minimal tidak jauh berbeda antar distro,

    terima kasih pak..

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.