Tag: smstools


Trouble Ticket System yang terintregasi dengan Sms Gateway

August 1st, 2009 — 12:09am

Ini adalah penggabungan implementasi dari 2 posting sebelumnya (OTRS2 dan Smstools3).Konsepnya mudah,Setiap ada new trouble ticket yang masuk maka SMS Gateway akan mengirim notifikasi kepada user melalui sms.

Requirement :
- OTRS 2 (penginstallan dan konfigurasi baca disini)
- Smstools 3 (penginstallan dan konfigurasi baca disini)
- Apache2
- Linux Crontab
- MySQL Server
- PHP
- Lynx (Console Web Browser)
- Root Access

5 Langkah yang harus dilakukan

1. Buat Database dan tabel baru pada MySQL

CREATE DATABASE `sms_troublet_ticket`
CREATE TABLE `ticket` (
`id` int(11) NOT NULL auto_increment,
`tn` varchar(20) collate latin1_general_ci NOT NULL,
`title` varchar(255) collate latin1_general_ci NOT NULL,
`cusid` varchar(100) collate latin1_general_ci NOT NULL,
`sent` varchar(10) collate latin1_general_ci NOT NULL,
PRIMARY KEY  (`id`),
UNIQUE KEY `tn` (`tn`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;

2. Buat Directory /ticket pada /var/www/ dan buat Directory /sms pada /var/www/ticket

root@linux~# mkdir /var/www/ticket
root@linux~# mkdir /var/www/ticket/sms

Buat file php dan simpan pada /var/www/ticket/ (misal:nama=index.php) yang isinya seperti gambar dibawah ini
otrs_smstools
Saya bantu sedikit ya :D

#Jika OTRS dan SMSTOOLS berada dalam satu host maka cukup gunakan satu script koneksi saja
#connect ke MySQL Server untuk OTRS
$connect = mysql_connect('192.168.10.1','root','belahduren') or die("Cannot connect." . mysql_error());
mysql_select_db('otrs2');
$result = mysql_query("SELECT * from ticket where ticket_state_id=1");
#connect ke MySQL Server untuk SMSTOOLS
$connect = mysql_connect('localhost','root','juliaperez') or die("Cannot connect." . mysql_error());
mysql_select_db('sms_troublet_ticket');
while($row = mysql_fetch_array($result)){
mysql_query("insert into ticket (tn,title,cusid,sent) values ('$row[tn]','$row[title]','$row[customer_user_id]','0') ");
echo $row[tn];
}

$result = mysql_query("SELECT * from ticket where sent='0'");
while($row = mysql_fetch_array($result)){

3. Ubah konfigurasi outgoing pada smsd.conf menjadi

outgoing = /var/www/ticket/sms

4. Buat buat file bash untuk triger pengecekan tiket baru dan sms notifikasi yang akan dipasang pada crontab yang isinya

lynx http://localhost/ticket/index.php

simpan dengan nama otrsnotifikasi dan simpan pada directory /usr/bin kemudian setting permisionnya:

root@linux~# chmod 777 /usr/bin/otrsnotifikasi

5. Edit crontab agar file triger diatas dieksekusi setiap menit

crontab -e
# m h  dom mon dow   command
* * * * * otrsnotifikasi >/dev/null

6. Simpan dan Selesai :)

Comment » | Linux

MySQL Bash Script untuk Eventhandler Smstools

July 31st, 2009 — 10:46pm

Pada posting sebelumnya tentang smstools3 terdapat salah satu baris untuk eventhandler yang berguna untuk penanganan kemana SMS itu akan diolah dan diproses setelah dokumentasi pada masing masing directory (incoming,sent,failed,dll) selesai.
Baris Eventhandler pada smsd.conf menginfokan dimana letak (path) file shell (bash) script yang mengolah SMS itu disimpan.Secara umum letaknya ada di /usr/local/bin

Requirement Eventhandler secara umum untuk smstools3 di Linux:
- Bash
- File Permision
- MySQL Server

Cara membuatnya cukup mudah untuk dipahami.Smstools menyediakan contoh script untuk Eventhandler dengan mysql,letaknya ada pada directory penginstalan pertama yaitu di /smstools/scripts/.File ini bernama mysmsd.

Berikut adalah contoh mysmsd yang sudah saya modifikasi sedikit:
Sebelum memasang pada smsd.conf sediakan dahulu database dan tabelnya di MySQL.

CREATE DATABASE `smsd`
CREATE TABLE `sms_log` (
  `msg_id` varchar(20) NOT NULL,
  `type` varchar(255) NOT NULL,
  `date` varchar(255) NOT NULL,
  `sender` varchar(255) NOT NULL,
  `receiver` varchar(255) NOT NULL,
  `text` varchar(255) NOT NULL,
  `status` varchar(20) NOT NULL,
  )

eventhandler

Setelah itu simpan file tersebut pada directory /bin (contoh: usr/bin atau /usr/local/bin)
Berikan Permision agar file bisa dibaca oleh system.

root@linux~# chmod 777 /usr/local/bin/mysmsd


NB: Pada field status terdapat 2 buah kondisi yaitu 32 dan 0
*32 menyatakan sms delivery masih dalam proses (Retrying)
*0 menyatakan sms delivery success

Selamat Mencoba :D

1 comment » | Linux

Back to top