Beranda > Linux dan Opensource, Python > IVR dengan modem Huawei K3520 di Ubuntu

IVR dengan modem Huawei K3520 di Ubuntu


Lanjut nulis lagi…

IVR merupakan kepanjangan dari Interactive Voice Response, yang secara sederhana bisa dipahami dari call center operator ketika menelepon suatu nomor misalnya 555 untuk operator Indosat, itulah salah satu layanan menggunakan teknologi IVR. Sistem IVR adalah layanan suara yang memberikan menu kepada penelepon untuk menekan angka sesuai apa yang dibutuhkan, termasuk merekam pesan suara. Sayangnya perangkat yang digunakan untuk IVR relatif mahal, sesuai dengan pengalaman pertama kali bekerjasama dengan developer dari India,  Arjun Venkatraman. Waktu itu implementasi di Pontianak menggunakan modem TOPEX dengan harga yang sekitar RP. 6 juta, dan lebih sedihnya lagi modem tersebut sering out of stock dan tidak ada di Indonesia, sehingga harus order di Singapura atau Australia. Menurut saya dan Bobo AirPutih, implementasi layanan IT tidak harus selalu mahal karena obyek implementasi bisa jadi dari kalangan ekonomi menengah ke bawah. Akhirnya kami mencari modem yang support voice, diantaranya bisa di lihat disini.

Saat ini saya sedang mencoba beberapa modem diantaranya Huawei K3520, K3765, E1550, dan E1752. Semuanya support voice, atau kalau punya modem untuk melihat apakah support voice atau tidak bisa menggunakan tools Huawei Unlocker. Saya yakin selain modem Huawei, modem yang lain juga ada yang sudah support voice. Oke langsung saja, saya menggunakan Ubuntu 11.04. Panduan akan saya bagi 3 sub dibawah ini:

Prerequisities, Install library-library yang dibutuhkan dan beberapa konfigurasi:
Matikan selinux jika terinstall seperti dibawah ini

# gedit /etc/selinux/config

SELINUX=disabled
SELINUXTYPE=targeted

Konfigurasi IPtables seperti perintah dibawah ini

# iptables -F
# iptables-save > /etc/iptables.up.rules

Update repository dan install library-library yang dibutuhkan

# apt-get update
# apt-get upgrade
# apt-get install linux-headers-`uname -r` gcc g++ make libnewt-dev libncurses5-dev openssl libssl-dev zlib1g-dev libmysqlclient-dev lame bison newt-tcl ncurses-bin ncurses-term ncurses-base zlib1g zlibc python-setuptools subversion

Install beberapa library python menggunakan easy_install

# easy_install stopwatch
# easy_install MySQL-Python
# easy_install oauth2
# easy_install tweepy
# easy_install simplejson

Jika tidak ada error yang terjadi, library-library yang dibutuhkan telah siap digunakan

Installation, install asterisk dan chan_dongle untuk modem

Download asterisk dan install, asterisk yang stabil versi 1.6.x dan 1.8.x

# wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.2.13.tar.gz
# tar zxvf asterisk-1.6.2.13.tar.gz
# cd asterisk-1.6.2.13
# make clean && ./configure --disable-xmldocs && make && make install && make config && make samples

Selanjutnya download chan_dongle dan install

# wget http://asterisk-chan-dongle.googlecode.com/files/chan_dongle-1.1.r10.tgz
# tar zxvf chan_dongle-1.1.r10.tgz
# cd chan_dongle-1.1.r10
# ./configure && make && make install

Sampai disini semua yang dibutuhkan telah terinstall, tahap terakhir adalah konfigurasi. Silakan minum kopi atau teh dulu😀

Konfigurasi

Salin dongle.conf (masih didalam folder chan_dongle-1.1.r10) hasil instalasi chan_dongle diatas ke folder /etc/asterisk

# cp etc/dongle.conf /etc/asterisk/

Ganti IMEI dan IMSI modem di dalam file dongle.conf, sesuaikan dengan modem yang digunakan.
Cek IMEI dan IMSI

# asterisk -r
# dongle show devices
// maka akan muncul seperti dibawah ini
ID           Group State      RSSI Mode Submode Provider Name  Model      Firmware          IMEI             IMSI             Number
dongle0      0     Free       12   3    3       IND XL         K3520      11.314.12.02.00   353284026364334  510111909762998  Unknown

Edit IMEI dan IMSI dalam file dongle.conf lalu simpan

# gedit /etc/asterisk/dongle.conf
// Ganti nomor IMEI dan IMSI sesuai dengan yang muncul dengan perintah diatas
IMEI=353284026364334
IMSI=510111909762998

Download file berikut, buat database baru lalu konfigurasi sesuai link terkait

# svn co https://audiowiki.googlecode.com/svn/branches/swara
# mysql -u root -p <Enter the password>
# create database ivr;
# exit
# mysql -u root -p ivr < swara/conf/swaradb.sql

// Salin file menu_system_localized.py ke dalam /var/lib/asterisk/agi-bin/
# cp swara/bin/menu_system_localized.py /var/lib/asterisk/agi-bin/

// Salin folder prompts ke dalam folder sounds
# cp -rf swara/sounds/prompts/ /var/lib/asterisk/sounds/en/

// salin file swara.conf dan buat file log
# cp conf/swara.conf /etc/
# touch /var/log/swara.log

// edit file /etc/swara.conf dan sesuaikan dengan database yang dibuat serta folder terkait
# gedit /etc/swara.conf
[Database]
username = root
password = password
host = localhost
port = 3306
dbname = ivr

[System]
statdir = STATS_DIR
sounddir = /var/lib/asterisk/sounds/en
logfile = /var/log/swara.log
language = english

// Konfigurasi path libs didalam file menu_system_localized.py
# gedit /var/lib/asterisk/agi-bin/menu_system_localized.py
// Edit bagian berikut dan sesuaikan dimana folder swara/libs/ berada
sys.path.append("/path/to/swara/libs")

Sampai disini semua yang dibutuhkan telah terinstall dan terkonfigurasi, selangkah lagi untuk mengkonfigurasi kemana arah panggilan telepon yang masuk. Edit file /etc/asterisk/extensions.conf dan konfigurasi seperti berikut ini

# gedit /etc/asterisk/extensions.conf
// context [demo] merupakan default hasil instalasi asterisk dan chan_dongle diatas, telepon yang masuk otomatis diarahkan ke context tersebut

[demo]
include => stdexten
exten => s,1,Answer
exten => s,n,Set(TIMEOUT(absolute)=480)
exten => s,n,Wait(1)
exten => s,n,Verbose(Before AGI call)
exten => s,n,AGI(menu_system_localized.py)
exten => s,n,Verbose(After AGI call)
exten => s,n,Hangup

Selesai, silakan melakukan penggilan ke nomor yang dimasukkan di modem. Jika ada menu IVR, maka instalasi dan konfigurasi semuanya berhasil. Jika ada kendala, silakan dilihat dulu log kesalahannya sebelum mencari solusi.
Konfigurasi diatas merupakan dasar, silakan mengembangkan dengan berkreasi terutama di file /etc/asterisk/extensions.conf.🙂

Terimakasih

  1. Belum ada komentar.
  1. 20 Februari 2012 pukul 8:49 pm

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: