3. Network Subsystem
2.3.14 Gammu For Windows
Gammu adalah nama sebuah project yang ditujukan untuk membangun aplikasi, script dan drivers yang dapat digunakan untuk semua fungsi yang memungkinkan pada telepon seluler atau alat sejenisnya. Sekarang gammu telah menyediakan codebase yang stabil dan mapan untuk berbagai macam model telepon yang tersedia di pasaran dibandingkan dengan project sejenis. Gammu merupakan project yang berlisensi GNU GPL 2 sehingga menjamin kebebasan menggunakan tool ini tanpa perlu takut dengan masaah legalitas dan biaya yang mahal yang harus dikeluarkan. Gammu mendukung berbagai macam model telepon seluler dengan berbagai jenis koneksi dan type. (www.gammu.org)
Gammu merupakan salah satu tool untuk mengembangkan aplikasi SMS Gateway yang cukup mudah diimplementasikan pastinya gratis. Kelebihan Gammu dari tool sms gateway lainnya adalah : (Acho, 2007)
a. Gammu bisa di jalankan di Windows maupun Linux.
b. Banyak device yang kompatibel oleh gammu.
c. Gammu menggunakan database MySql, Bisa menggunakan interface web-based.
d. Baik kabel data USB maupun SERIAL, semuanya kompatibel di Gammu.
Berikut yang harus disiapkan untuk membuat SMS Gateway menggunakan Gammu : (Acho, 2007)
a. Gammu for windows
b. HP atau Modem GSM + Kabel Data c. Driver HP/Modem
d. Apache + MySql
Setelah lengkap semua, mulai ekstrak Gammu ke C:\win32. Setelah itu install Xampp, dengan begitu telah terinstall satu paket
Apache+MySql+PhpMyadmin di komputer anda. Setelah anda extrak Gammunya, anda buka folder win32 dan cari file gammurc, edit file tsb menggunakan notepad. Yang harus di ubah adalah PORT=COM.., isi nama port sesuai port yang digunakan oleh modem/hp anda. Caranya, masuk ke device manager dan cek port yang digunakan oleh HP/modem anda (klik kanan -
properties), edit juga baris connection = at115200. Umumnya ponsel2 modern yang sudah pakai USB, menggunakan AT Command.
File kedua yang harus di edit yaitu file smsdrc, edit menggunakan notepad atau wordpad, edit baris
user = root (Jika anda tidak merubah settingan default MySQLnya)
password = (kosongkan kalau anda tidak menggunakan password di mySQLnya) pc = localhost
database = smsd
Setelah itu mulai buat database dengan nama smsd di mysql anda, gunakan phpmyadmin agar mudah. Setelah ada database bernama smsd, import database mysql.sql yang ada di folder win32. Dengan begitu akan terbentuk beberapa tabel standard seperti inbox,outbox,sent item,dan lain sebagainya.
Sekarang, buka command prompt dan masuk ke c:/win32 lalu ketik
Jika informasi HP beserta No IMEI nya sudah muncul berarti HP anda sudah dikenali dengan baik oleh Gammu. Setelah itu aktifkan sms service dengan mengetikkan
Minimize window agar service jalan terus. Jika sms service sudah jalan, mulai mengirim SMS ke no. lain dengan cara insert data ke tabel outbox, jika sudah terkirim, sms akan pindah dari tabel outbox ke tabel sentitems.
Jika anda mengalami kasus karakter yg sampai ke HP berupa karakter aneh, tak usah bingung. Ubah dulu field Coding yg ada di tabel outbox dan sentitems, ubah typenya jadi enum(’Default_No_Compression’).
2.3.14.1 Gammurc
Langkah pertama adalah temukanlah parameter koneksi yang sesuai dan bacalah petunjuk dibawah ini untuk menentukan tipe PORT koneksi HP yang digunakan.
a. Kabel
1. Protokol Nokia yang baru untuk FBUS/DAU9P menggunakan koneksi
“fbus”, tipe PORT serial.
2. Protokol Nokia yang baru untuk DLR3/DLR3P menggunakan koneksi
“fbusdlr3/dlr3”, tipe PORT serial.
3. Protokol Nokia yang baru untuk DKU2 (dan handphone yang menggunakan konverter USB di mainboard handponenya seperti 6230) menggunakan koneksi “dku2phonet”/”dku2”, tipe PORT dku2.
4. Protokol Nokia yang baru untuk DKU5 (dan handphone tanpa USB konverter di mainboard handphonenya seperti 5100) menggunakan koneksi “fbusp12303”, tipe PORT USB.
5. Protokol Nokia yang lama untuk MBUS/DAU9P menggunakan koneksi
“mbus”, tipe PORT serial.
6. AT commands untuk DLR3, DKU5 atau AT compatibel cable lainnya (8bits, tidak sama/seimbang, tanpa pengatur arus, 1 stop bit) menggunkaan Nokia, Alcatel, Siemens dan yang lainnya menggunakan tipe koneksi
“at19200”/”at115200” /.., tipe PORT serial
7. AT commands untuk kabel DKU2 menggunakan koneksi “dku2at”, tipe PORT dku2
b. Infrared
1. Protokol Nokia untuk infrared dengan tipe Nokia 6110/6130/6150 menggunakan koneksi “fbusirda”/”infrared”, tipe PORT serial.
2. Protokol Nokia untuk infrared dengan model Nokia yang lain menggunakan koneksi “irdaphonet”/”irda”, tipe PORT irda.
3. AT commands untuk infrared dengan model Nokia, Alcatel, Siemens, dan yang lainnya menggunakan koneksi “irdaat”, tipe PORT irda.
4. OBEX untuk infrared menggunakan koneksi “irdaobex”, tipe PORT irda.
Harus menggunakan model “obex”.
c. Bluetooth
1. Protokol Nokia dengan serial PORT yang di set dari susunan BT (Widcomm, atau yang lainnya) dari service yang cukup memadai dan Nokia 6210 menggunakan koneksi “fbusblue”, tipe PORT serial.
2. Protokol Nokia dengan serial PORT yang di set dari susunan BT (Widcomm, atau yang lainnya) dari service yang cukup memadai dan model Nokia yang lain menggunakan koneksi “phonetblue”, tipe PORT serial.
3. Protokol Nokia untuk bluetooth Nokia 6210 menggunakan koneksi
“bluerffbus”, tipe PORT BT.
4. Protokol Nokia untuk bluetooth model Nokia DCT4, yang mana tidak mencantumkan keterangan service yang jelas (6310, 6310i, dengan ketetapan alat lebih rendah dari 5.50, 8910, ..) menggunakan koneksi
“bluerfphonet”, tipe PORT BT.
5. Protokol Nokia untuk bluetooth model Nokia DCT4 yang lainnya, menggunakan koneksi “bluephonet” , tipe PORT BT.
6. AT commands untuk tumpukan bluetooth dan 6210 / model Nokia DCT4, yang mana tidak mencantumkan tentang service BT yang jelas (6310, 6310i, dengan ketetapan alat lebih rendah dari 5.50, 8910, ..) menggunakan koneksi “bluerfat”, tipe PORT BT.
7. AT commands untuk tumpukan bluetooth dari tipe handphone yang lain (Siemens, Nokia tipe yang lain dari diatas, dan yang lainnya) menggunakan koneksi “blueat”, tipe PORT BT.
8. OBEX untuk tumpukan bluetooth model Nokia DCT4, yang mana tidak mencantumkan tentang service BT yang jelas (6310, 6310i, dengan ketetapan alat lebih rendah dari 5.50, 8910, ..) menggunakan koneksi
“bluerfobex”, tipe PORT BT.
9. OBEX untuk tumpukan bluetooth dari tipe handphone yang lain (Siemens, Nokia tipe yang lain dari diatas, dan yang lainnya) menggunakan koneksi
“blueobex”, tipe PORT BT. Harus menggunakan model “obex”.
10. Koneksi “bluerfgnapbus”, tipe PORT BT, model “gnap”.
11. Koneksi “irdagnapbus”, tipe PORT irda, model “gnap”.
Langkah kedua sesuai dengan tipe PORT dari langkah pertama dan penggunaan OS untuk men-set PORT parameter.
Tabel 2.3 Tipe PORT di Gammu
Tipe PORT “PORT” parameter di irda abaikan (bisa dikosongkan) “/dev/ircomm*”
BT alamat perangkat bluetooh
(contoh “”)
dku2 abaikan (bisa dikosongkan) /dev/ttyUSB* atau /dev/ttyACM*
dku5 abaikan (bisa dikosongkan) koneksi dengan ini tidak dimungkinkan
usb koneksi dengan ini tidak dimungkinkan
“/dev/ttyUSB*”
Langkah ketiga adalah konfigurasi parameter lainnya.
Tabel 2.4 Parameter di Gammu
Nama Parameter Penjelasan
Model Digunakan hanya jika gammu tidak mengenali model handphone yang anda gunakan. Letakkan itu disini. Contoh nilai: “6110”, “6150”, “6210”, “8210”
SynchronizeTime Jika anda ingin men-set waktu dari komputer ke handphone selama koneksi dimulai. Lebih baik jangan menggunakan pilihan ini saat me-reset handphone selama koneksi (beberapa handphone membutuhkan setting waktu kembali saat restart)
GammuLoc Nama dari lokalisasi file
StartInfo Pilihan ini mengijinkan untuk men-set, jika anda ingin (setting “yes”) untuk melihat pesan pada layar handphone atau akan menyala sementara selama proses memulai koneksi. Handphone tidak akan berbunyi “beep” selama proses memulai koneksi dengan pilihan ini.
GammuCoding Kekuatan untuk menggunakan penetapan kode halaman (di win32 – sebagai contoh “1250” akan membentuk CP1250) atau UTF8 (di Linux – “utf8”).
Logfile Digunakan saat ingin mendapatkan logfile dari komunikasi Logformat Debug info dan format apakah yang seharusnya di digunakan:
“nothing” – tidak ada debug level (default)
“text” – pengiriman dump (backup) dalam format text
“textall” – semua info yang mungkin dalam format text
“errors” – errors dalam format text
“binary” – pengiriman dump dalam format binary
Use_Locking Dibawah Unix/Linux menggunakan “yes”, jika ingin mengunci menggunakan alat untuk menjaganya dari penggunaan aplikasi yang lain. Dalam win32 diabaikan.
RSSLevel Haruskah gammu terkoneksi ke www.mwiacek.com dan pengecekan untuk versi yang baru?
Jika ya, maka akan didapatkan file www.mwiacek.com/gsm/soft/gamgu.rss, pembacaan terhadap nomor versi terakhir dan (jika ada) tampilkan untuk user di setiap startup aplikasi.
“teststable” – cek untuk stable terakhir dan versi test.
“stable” – cek untuk versi stable terakhir.
Tidak ada data pribadi yang dikirimkan ke server, koneksi internet ke www.mwiacek.com dibutuhkan di PORT 80.
Pada default, penggunaan pilihan ini tidak aktif.
UsePhoneDB Haruskah gammu terkoneksi ke www.gammu.org dan
pengecekan untuk versi firmware terakhir dari alat yang digunakan?
Jika ya, maka akan didapatkan file www.gammu.org/gammunet/support/phones/
phonedbxml.php?model=x , baca seluruh detail handphone dari sini dan (jika ada beberapa firmware yang lebih tinggi) tampilkan untuk user di setiap startup aplikasi.
Tidak ada data pribadi yang dikirimkan ke server, koneksi internet ke www.gammu.org dibutuhkan di PORT 80.
Pada default, penggunaan pilihan ini tidak aktif.
2.3.14.2 Smsdrc
Berikut merupakan setting umum yang digunakan di file smsdrc.
PIN - PIN untuk kartu SIM.
logfile - logfile untuk info tentang aksi smsd.
CommTimeout - (waktu dalam detik) setelah masing-masing membaca/menulis loop smsd menunggu begitu lama (beberapa detik) untuk melakukannya lagi. Default: 1.
SendTimeOut - Menunjukkan berapa detik waktu yang dibutuhkan smsd untuk menunggu jawaban network selama pengiriman sms.
Jika tidak terjadi apa-apa selama waktu ini, sms akan dikirim ulang. Default: 10.
receivefrecuency - Jumlah dalam hitungan waktu (detik) antara testing untuk mendapatkan kiriman sms, saat handphone sibuk mengirimkan sms. Normalnya test untuk penerimaan sms dilakukan setiap detik commtimeout dan setelah setiap sms terkirim. Default : 0 (tidak digunakan).
resetfrequency - Jumlah dalam hitungan waktu (detik) antara preventif pengaturan ulang kembali perangkat lunak dalam pengerjaannya untuk meminimalisir kasus handphone yang
mengalami hang/error seperti Nokia 5110 kadang sewaktu-waktu hang dalam keadaan jika hanya setelah melepas dan memasang kembali baterai, handphone akan berfungsi kembali. Default : 0 (tidak digunakan).
deliveryreport - Seharusnya laporan pengiriman menggunakan no/log/sms.
log : satu baris pemasukan log
sms : tersimpan di inbox sebagai sms yang diterima Default : no
phoneid - string untuk identitas / info tentang handphone yang digunakan untuk mengirimkan / menerima sms.
Contoh:
Saat anda mengirimkan sms dari beberapa SMS Centre (SMSC), anda bisa mendapatkan laporan pesan terkirim / gagal dikirim dari nomor SMS Centre (SMSC) yang lainnya. Anda bisa men-set disini nomor dari SMSC yang anda gunakan dan Gammu tidak akan mengecek nomor tersebut selama memberikan laporan untuk pengiriman sms. Contoh :
skipsmscnumber = +48602123456
b. Setting untuk --smsd FILES
Path berikut ini harus ditulis dengan ‘/’ atau ‘\’ tergantung dari OS yang digunakan.
inboxpath - Dimana sms yang terkirim disimpan, setting awal direktori.
outboxpath - Dimana sms yang akan dikirimkan seharusnya diletakkan, setting awal direktori.
sentsmspath - Dimana sms yang terkirim diletakkan, setting outboxpath (=deleted).
errorsmspath - Dimana sms yang gagal / error dalam pengirimannya disimpan, setting sentsmspath.
inboxformat - Format yang mana sms akan disimpan: ‘detail’, ‘unicode’,
‘standard’. Format detail adalah format yang digunakan untuk backup. ‘standard’ digunakan untuk set karakter standard. Default : unicode.
transmitformat - Format untuk pengiriman sms: ‘auto’, ‘unicode’, ‘7bit’.
Default: auto Contoh:
inboxpath = /var/spool/sms/inbox/
outboxpath = /var/spool/sms/outbox/
sentsmspath = /var/spool/sms/sent/
errorsmspath = /var/spool/sms/error/
inboxformat = unicode transmitformat = auto
c. Info tentang --smsd FILES a. Penerimaan
File akan ditulis dengan nama IN<date>_<time>_<serialno>_<phone number>_<sequence>.txt. Contoh:
IN20021130_021531_00_+45409000931640979_00.txt. Dimana <date> dalam format yyyymmdd, <time> dalam hhmmss, <serialno> dalam nn (pada kasus dimana kebanyakan sms dikirimkan pada waktu yang bersamaan ke handphone),
dan <sequence> dalam nn (untuk multi sms). Pada kasus pengkodean sms 8bit, sms disimpan sebagai data biner dengan penambahan file .bin.
b. Pengiriman
Nama file seharusnya salah satu dari format berikut ini.
OUT<phone number>.txt<options>
OUT<priority>_<phone number>_<serialno>.txt<options>
OUT<priority><date>_<time>_<serialno>_<phone number>_<anything>.txt<options>
Dimana <priority> adalah karakter alphabetic (A-Z). A = prioritas tertinggi.
Ketentuan file tambahan :OUTxxxxx.txt: text normal sms.
Option tambahan untuk penggunaan file tambahan hanya untuk sms ini:
d: permintaan laporan pengiriman.
f: flash sms
b: penunjukan halaman buku WAP sebagai nama, URL
Contoh : OUTG20040620_193810_123_+4512345678_xpq.txtdf adalah sebuah flash text sms yang meminta laporan pengiriman.
Sms akan terkirim terurut sesuai dengan nama file. Isi dari file adalah sms yang terkirimkan (dalam setting unicode atau standard karakter).
c. Contoh dari ‘detail’ format inbox
[SMSBackup000]
#ABCDEFGHIJKLMNOPQRSTUVWXYZ
#
SMSC = "+4540590000"
SMSCUnicode = 002B0034003500340030003500390030003000300030 Sent = 20021201T025023
State = UnRead
Number = "+4522706947"
NumberUnicode = 002B0034003500320032003700300036003900340037 Name = ""
NameUnicode =
Text00 =
Dalam Linux, bisa terjadi masalah tentang mendapatkan tempat yang tepat untuk menentukan saat gammu --smsd berjalan sebagai daemon dari /etc/inittab script. Karakter national mungkin muncul sebagai pertanyaan dalam penerimaan sms. Solusinya adalah penyediaan sepanjang garis (ganti ‘da_DK ’ dengan tempat anda sendiri).
Definisikan /usr/local/bin/gammu.sh sebagai:
#!/bin/sh
export LANG=da_DK
/usr/local/bin/gammu --smsd FILES /etc/smsdrc
dan panggil dari /etc/inittab dengan GA:345:respawn:/usr/local/bin/gammu.sh.
2.3.14.3 Handphone yang Support untuk Gammu
Pada penjelasan gammurc dan smsdrc diatas, gammu support dengan berbagai merk handphone:
1. Mayoritas handphone Nokia dari generasi DCT3 dengan Sistem Operasi Nokia – sebagai contoh Nokia 3210, 3310, 3315, 3410, 5110, 5130, 6110, 6130, 6150, 6210, 7110, 8210.
2. Mayoritas handphone Nokia dari generasi DCT4 dengan Sistem Operasi Nokia – sebagai contoh Nokia 3100, 3510, 3510i, 6220, 6230, 6310, 6310i, 6510, 6610, 7210, 8310.
3. Beberapa peralatan AT– sebagai contoh Siemens, Sony Ericsson, Nokia, Alcatel models.
4. Alcatel dari generasi BE5/BF5/BH4 – sebagai contoh 501, 511, 512 beberapa fungsi dengan OBEX and peralatan Symbian.
Dari beberapa contoh HP yang digunakan pada penelitian ini dan berhasil support dengan gammu adalah:
1. Siemens C35, C45 dan M55 2. Sony Ericsson W200 dan K750 3. Modem Huawei E173