Monthly Archives: June 2011

DIAL PLAN [ASTERISK]


Dial Plan

  1. Context
  2. Extensions
  3. Priorities
  4. Aplication
Dialplan dibuat pada file yang bernama extensions.conf, lokasi file ada di /etc/asterisk/extensions.conf
Dial Plan terdiri dari 4 konsep:
  1. Context
    Berisi beberapa instruksi extensions pada dial plan yang mempunyai beragam kegunaan.
    Context ini membedakan interaksi dari satu group dengan group yang lain.
    Sebuah extensi yang berada pada suatu context akan terisolasi dengan context yang lain.
    Context dilutis dengan huruf besar atau kecil [A-Z] atau angkat [0-9]
  2. Extensions
    Dibangun dalam tiga komposisi:
    Nama atau nomor extensi
    Priority (setiap ekstension bisalebih dari satu priority)
    Aplikasi (atau command) yang menampilkan aksi (action) dari call.
    exten => nomor extensi, priority, aplikasi (action())
    exten => 4000, 1, Answer()
    exten => _4xxx,1,DIAL(ZAP/1,10,m)
    exten => _4NNN,DIAL(DAHDI/g0,$EXTENT:1,20)
  3. Priorities
  4. Applications
Unnumbered Priority
n => next priority , diletakkan pada ext setelah priority 1, artinya tambah 1 dari priority sebelumnya
s => start extension , jk tidak ada nmr extension yang masuk makan extension ini yang akan dijalankan
t=> timeout, jika dalam interval terntu tidak ada masukkan maka extension ini akan dijalankan
i=> invalid extension, jk user memasukkan nomor extension yang tidak valid maka extension ini yang dijalankan
Aplication atau sering disebut sebagai action merupakan aksi yang dikerjalan oleh si extension
exten => 4000, 1 , DIAL(SIP/2000,10)
jadi si extension 4000 mengerjakan DIAL ke SIP 2000, dan akan timeout jk tidak diangkat dalam 10 detik.
exten=>Goto(incoming,123,1)
incoming= context yg lain
123= nmr extension
1= urutan/ prioritas
Answer = menjawab sebuah kanal
playback=play voice di background tanpa berpengaruh terhadap inputan yang dmskuuan oleh user
Contoh:
playback(filename)
playback(/home/moses/selamat.gsm)
hangUP
menutup kanal yang sedang aktif
digunakan pada akhir context untuk memastikan tidak ada lagi dial plan yang akan dijalankan
background
Memainkan voice  dan dapat di interupsi oleh user ketika menekan keypad, biasnya digunakan untuk IVR.
wait exten()
menunggu pemanggil memasukkan digit DTMF
contoh:
exten => 123,1,Answer()
exten => 123,2,Backupgrond(main-voice)
exten=> 123,3,waitextent()
exten=> 1,1, playbackup(digit/1)
exten=>2,1,playback(digit/2)
GOTO
digunakan untuk mengulang aksi
parameter
context tutujuan, extension , priority
contoh
[incoming]
exten => 123, 1, answer()
exten=> 123,2,background (main-menu)
exten=> 123,3,waitextend()
exten=>123,4,goto(incoming,123,2)
DIAL()
mendial nomor atau kanal tujuan
argument
DIAL (teknologi/remote end point , port)
Dial (ZAP/1) teknologi zaptel untuk fxs module terletak di port 1)
Dial (SIP/192.168.0.7) -> tek sip ke nomor IP 192.168.0.7
Dial(SIP/guest@moses.com)=> dial denganteknologi sip ke server moses.com
Dial dengan argument destionation dan timeout
DIAL (ZAP/1, 10)
Dial dengan argument destination,timenout,option string)
DIAL (ZAP/1,10,m) -> Pemanggil mendegar musik sebgai pengganti ringtone.
Pattern Matching
memudahkan konfigurasi untuk design dialplan yang sama
Sintaks pattern matching
– dimulai dengantanda _ (underscore)
– tanda tersebut menjelaskan kepada asterik akan dilakukan matching
– biasnya single undersconre
Beberapa karakter di belakang tanda (_)
XZN
X = 0-9
Z= 1-9
N=2-9
exten=>_9NNXX,1,Dial (ZAP/1,${EXTEN:1})
exten=>_8ZNXX,1,Dial (ZAP/1,${EXTEN:1})  => 1200 sampai 9999

HOW TO KILL ZOMBIE PROCESS


Bagaimana cara meng-kill zombie process?

Zombie process tidak dapat dikill , karena mereka sendiri sudah mati (dead). tetapi  jika sudah kebayakan zombi prosess maka dapat di kill parent proses atau merestart servicenya.

 

Bagaimana caranya melihat zombie process?

ps aux | awk ‘{ print $8 “” $2}’ | grep -w Z

ps -el | grep Z

kill -9 PID

Walapun menggunakan kill -9 untuk membunuh zombi namun tidak menjamin akan mati.

Bagaimana caranya membunuh zombi proses secara otomatis

Tulis script berikut di cron job:
`ps jauxww | grep Z | grep -v PID | awk ‘{print $3}’`; do for every in `ps auxw | grep $each | grep cron | awk ‘{print $2}’`; do kill -9 $every; done; done

VIRTUALISASI XEN PADA RHEL 5.4


  1. Yum install xen kernel-xen virt-manger
  2. [root@xen-moses yum.repos.d]# vim /boot/grub/grub.conf
    default=0
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title Red Hat Enterprise Linux Server (2.6.18-164.el5xen)
    root (hd0,0)
    kernel /xen.gz-2.6.18-164.el5
    module /vmlinuz-2.6.18-164.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet crashkernel=128M@16M
    module /initrd-2.6.18-164.el5xen.img
    title Red Hat Enterprise Linux Server (2.6.18-164.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet crashkernel=128M@16M
    initrd /initrd-2.6.18-164.el5.img
  3. Set default =0
  4. [root@xen-moses yum.repos.d]#
    vim /etc/sysconfig/kernel
    Reboot
  5. Cara mengaktifkan domain pada saat boot
    chkconfig xendomains on
    ln –s /etc/xen/domain /etc/xen/auto/domain
    Ketika dom0 di start maka akan melakukan pembacaan directory /etc/xen/auto dan apabila ditemukan configuration file maka otomatis di create
  6. Ketika dom0 di shutdown dan domU masih running maka akan di save dan statusnya adalah preserver dan ketika dom0 up akan di restored.
  7. Pastikan CPU anda mendukung PAE
    grep –color pae /proc/cpuinfo
  8. Virsh adalah command line tools untuk managing virtual machine domain base on libvirt. Dapat digunakan untuk create, sspend, resume,save and shutdown domain, Juga dapat digunakan untuk me lihat semua domain yang sedang running dan mendaatkan informasi masing-masing domain.
  9. Keuntungan menggunakan virsh dibandingkan dengan xm adalah meyediakan standard interface untuk mangatur. Vurtsg support KVM dan QEM contoh. (40)
  10. Contoh :
    xm create webserver
    xm create webserver memory=”512”
  11. contoh2 command
    virsh
    list
    dominfo webserver
    quit
  12. Saving / Restore domain state on Disk
    virsh save domain state-file
    virsh restore domain state-file
  13. Asumsi ada 2 DomU yang hidup vm1 dan vm2 masing-masing menggunakan 512 MB memory, virsh shutdown vm1, ketika dituliskan free –m di domU maka memori tidak bertambah karena kemungkinan akan digunakan si vm1 untuk startup berikutnya. Caranya sehingga bisa digunakan memori si vm1 dan dikembalikan ke Dom0 adalah:virsh nodeinfo
    untuk mengetahui total memory dari si dom0
    [root@virtualisasi ~]# virsh nodeinfo
    CPU model: x86_64
    CPU(s): 2
    CPU frequency: 2933 MHz
    CPU socket(s): 1
    Core(s) per socket: 2
    Thread(s) per core: 1
    NUMA cell(s): 1
    Memory size: 4192256 kB
  14. virsh setmem Domain-0 4192256 -> free
  15. vim /boot/grub/grub.conf
    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE: You have a /boot partition. This means that
    # all kernel and initrd paths are relative to /boot/, eg.
    # root (hd0,0)
    # kernel /vmlinuz-version ro root=/dev/hdb7
    # initrd /initrd-version.img
    #boot=/dev/hdb
    default=0
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title Red Hat Enterprise Linux Server (2.6.18-164.el5xen)
    root (hd0,0)
    kernel /xen.gz-2.6.18-164.el5
    module /vmlinuz-2.6.18-164.el5xen ro root=LABEL=/ rhgb quiet crashkernel=128M@16M console=tty1 console=xvc0
    module /initrd-2.6.18-164.el5xen.img
    title Red Hat Enterprise Linux Server (2.6.18-164.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/ rhgb quiet crashkernel=128M@16M
    initrd /initrd-2.6.18-164.el5.img
  16. [root@virtualisasi ~]# vim /etc/inittab
    co:2345:respawn:/sbin/agetty xvc0 9600 vt100-nav
    c1:2345:respawn:/sbin/agetty tty1 9600 vt200-nav
  17. [root@virtualisasi ~]# vim /etc/securetty
    console
    xvc0

Install Linux Debian Squezee on DNS-320 atau DNS-325


D-LINK DNS-320 merupakan Network Attached Storage (NAS) devices yang berguna untuk membackup files/data darimana saja.  Memiliki 10/100/1000 Gigabit Ethernet Port dan dua 3.5” SATA HDD Bay.

NAS ini sudah memiliki sistem operasi Linux dlink-9CC9BB 2.6.22.18 #22 Mon Aug 30 19:09:34 CST 2010 armv5tejl unknown jadi bisa disetting melalui konsol disamping melalui web. Dengan kernal linux tersebut bisa kita tambahkan plugin kedalamnya seperti Lighttpd Web Server, OpenSSH Secure Shell, Mediatomb UPnP Media Server, NTP Network Time Daemon,UNFS3 User-Space NFS Server, NFS-Utils NFS Server (requires kernel support), RSync File Transfer Utility.

Untuk versi NAS-320 jenis firmware default  (bawaannya) V.1.00, versi terbaru V.2.0 memang ada tapi untuk kebutuhan ini saya menggunakan yang default.

Beberapa software tambahkan yang dibutuhkan adalah:

  1. fun_plug
  2. fun_plug.tgz
  3. squeeze.tar.gz
  4. fun_plug.debian
  5. CD driver/installer bawaan dari verdor
Secara default NAS ini sudah memiliki OS dan sudah tersedia beberapa command line di linux namun sangat terbatas. Pada NAS ini saya memutuskan untuk menginstall OS , OS yang tersedia sampai saat ini adalah debian squeeze (6.0). Paket ini berupa template yang berisi paket OS Debian. Saya memilih ini untuk kemudahan update paket dari repository.
Langkah-langkah setup & instalasi dan konfigurasi:1. Pasang hardisk sisi kiri & kanan,kabel power dan kabel lan.

2. Ambil CD-Rom dan masukkan CD driver.

3. Klik “DNS-320_A1_EasySearch_v4.9.0.0.exe”, Gambar dibawah merupakan tool yang digunakan untuk mendapatkan IP address NAS yang sudah terhubung dengan LAN. IP address yang digunakan masih DHCP. Untuk menjadikan IP address static dapat dikonfigurasi dari WEB GUI.

4. Klik button “Configuration” dan akan di arahkan ke http://192.168.0.174/, login sebagai admin password kosongkan.( http://192.168.0.174/web/login.html). Setelah login maka kita dapat melihat semua fitur2 yang disediakan oleh NAS-320 versi firmware 1.00

5. Konfigurasi LAN,Setting TimeZone,NTP,Language,NFS,FTP,RAID, Firmware Upgrade,Change Password, Alert System NAS via email,Power Managemen, Checkdisk semua dapat dilakukan via WEB GUI.

6. Pertama kali kita harus melakukan setting hardisk untuk menentukan jenis RAID, apakah RAID 0 , RAID 1 dsb. (Tab Maintanance->Raid->Set Raid and Re-Format) hanya dilakukan pada setup awal. Syncronisasi hardisk membutuhkan waktu kurang lebih 1 jam bergantung pada size hardisk yang akan di RAID. Saya memilih untuk menggunakan RAID 1 jika salah satu hardisk rusak maka yang lain masih berfungsi.

7. Langkah selanjutnya akses sharing NAS (Run -> masukkan IP NAS) ://192.168.0.174 dan akan muncul sebuah folder “Volume_1”, Browser Folder kemudia copy-kan pake “fun_flug” dan “fun_plug.tgz” ->reboot NAS.

8. Akses NAS menggunakan putty dan gunakan port 23 (telnet), setelah berhasil akan muncul tampilan seperti berikut:
/ #

/ # uname -a
Linux dlink-9CC9BB 2.6.22.18 #22 Mon Aug 30 19:09:34 CST 2010 armv5tejl unknown

/ # cat /proc/cpuinfo
Processor : ARM926EJ-S rev 1 (v5l)
BogoMIPS : 796.26
Features : swp half thumb fastmult edsp
CPU implementer : 0x56
CPU architecture: 5TE
CPU variant : 0x2
CPU part : 0x131
CPU revision : 1
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 16384
I assoc : 4
I line length : 32
I sets : 128
D size : 16384
D assoc : 4
D line length : 32
D sets : 128
Hardware : Feroceon-KW
Revision : 0000
Serial : 00000000000000009. Buka file sharing NAS dan copykan file “squeeze.tar.gz” + “fun_plug.debian” di bawah dir “Volume_1”

10. Dari telnet edit fun_plug script dari “/mnt/HD_a2” menjadi “/mnt/HD/HD_a2” ( ini merupakan directory root di stuktur directory NAS)
/#cd /mnt/HD/HD_a2
/#gunzip squeeze.tar.gz
/#tar -xf squeeze.tar
/#cp fun_plug.debian ke fun_plug
/#reboot
/# coba login ssh dari putty dengan username: root dan password: dlink

Jika berhasil akan muncul :
root@dlink-9CC9BB:/# uname -a
Linux dlink-9CC9BB 2.6.22.18 #22 Mon Aug 30 19:09:34 CST 2010 armv5tejl GNU/Linux

Contoh update package:

root@dlink-9CC9BB:/# apt-get install nmap install
root@dlink-9CC9BB:/# apt-get install vim install

Note “Semua paket instalasi dapat diakses di server 1 + video ”\\192.168.0.1\server1x\Office\Employee storage\GMOSKING\DLINK_NAS320

Roundcube : Change Password Virtual User on Rouncube MailServer & ISPCONFIG


DONWLOAD Working installation of Roundcube (version 0.2-stable)

“Berikan access user roundcube ke database ispconfig”

GRANT ALL PRIVILEGES ON dbispconfig24.* TO roundcube@localhost IDENTIFIED BY ‘mypassword’;

Ini paling petting untuk diperhatikan

9. Create roundcube/program/steps/settings/password.inc

$passwordquery = “UPDATE dbispconfig24.mail_user SET password =ENCRYPT(’”.$new_password.”‘) WHERE email = ‘”.$emailuser.”‘;”

ln -s /usr/share/email /var/www/webmail.gmosking.com/web/email

chown -R www-data.www-data /usr/share/email

chmod -R 777 /usr/share/temp /usr/share/logs

source roundcube hasil modifikasi ada di F:/OFFICE/CLIENT/HK/email

Expand attacthment on mail serverISPCONFIG

vim /etc/postfix/main.cnf

message_size_limit = 20480000 ( 20 x1024 x 1024) = 20 MB

postconf -e ‘message_size_limit = 20480000 ‘
postconf -e ‘mailbox_size_limit = 20480000 ‘

php.ini

php -i | grep php.ini

post_max_size = 20M
upload_max_filesize = 20M

/etc/init.d/postfix restart

/etc/init.d/apache restart

DEBIAN ONLY
 

http://wheaties.us/blog/2008/12/change-password-roundcube/

http://muhdzamri.blogspot.com/2007/02/postfix-mailbox-size-limit-and-message.html

mysqldump: Got error: 1044: Access denied for user ‘root’@’localhost’ to database ‘information_schema’ when using LOCK TABLES


How to fix this problem ?

$ mysqldump –single-transaction -u user -p DBNAME > backup.sql

$ mysql -u root -p

mysql> GRANT SELECT,LOCK TABLES ON DBNAME.* TO ‘username’@’localhost’;

#!/bin/bash
# Purpose: Backup mysql
# Author: Vivek Gite; under GNU GPL v2.0+
NOW=$(date +"%d-%m-%Y")
DEST="/.backup/mysql"
# set mysql login info
MUSER="root"                # Username
MPASS='PASSWORD-HERE'   # Password
MHOST="127.0.0.1"  # Server Name

# guess binary names
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"

[ ! -d "${DEST}" ] && mkdir -p "${DEST}"
# get all db names
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
for db in $DBS
do
 FILE=${DEST}/mysql-${db}.${NOW}-$(date +"%T").gz
 # get around error
 $MYSQLDUMP --single-transaction -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done

MOVE SPESIFIC PARTITION TO OTHER HARDISK


Awalnya saya menginstall linux centos 5.5 dengan partisi /usr 4.5 GB , ternyata setelah jalan beberapa bulan saya melihat sudah full mungkin karena saya terlalu banyak menginstall aplikasi2 lain…..

Kemudian saya berfikir untuk memindahkan ke partisi lain (dengan mengattach) hardisk lain khusus untuk partisi /usr

cara seperti apakah:?????

awalnya

/dev/sdb5    /usr  type ext3

attach new hardisk dan gunakan fdisk untuk memberikan label sampai terbentk /dev/sda2

reboot ke single usermode

mkdir /usrtmp

cd /usrtmp

mencopy isi dari partisi /usr ke partisi usrtmp

dump -0af  – /usr | restore rf –

vim /etc/fstab

/dev/sda2 /usr

df -h

finish deh sekarang partisi /usr sudah bertambah

shisdew

Listens until think alike

moses.spaceku@yahoo.com / voip ipbx

Hosted PBX, IP-PBX SOHO/ CALL CENTER, VOICE GATEWAY, VOICE CARD, COST EFECTIVE SOLUTIONS (LCR), GSM/CDMA GATEWAY

%d bloggers like this: