7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 1/17
IMPLEMENTASI SMS GATEWAY DENGAN KANNEL
DAN MODEM WAVECOM
Hary Cahyono
wordpress.com, tifosilinux
Email : [email protected]
egitu banyak referensi mengenai smsgateway dengan berbagai
third party yang digunakannya, dengan hobi didunia !inux"#$%&
dan niat menambah referensi implementasi dengan kannel, maka
saya iseng membuat tulisan ini. Now being developed further by
the open source community, namely the Kannel Group.
Keyword : Guide Kannel
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 2/17
Pendahuluan
'udah terlalu banyak referensi yang memuat !inux beserta kannel sebagai '(')*+E*- nya. 'ekarang saya coba membagi seperti apa sih implementasinya ika
perusahaan" corporate atau bahkan personal menginginkan business dengan !inux
beserta /annel. Ekspektasi nya selalu diarahkan kepada hal yang sifatnya untuk
pemanfaatan ke arah positif. (ampu meraih optimalisasi business walaupun tetap
membawa lisensi )0!. (embuat business mudah dalam melakukan analisis dan
membuat Decision.
Konf!ura" Kannel
'emuanya dirancang bangun diatas sistem !inux 1pen'u'E 22.3 Emerald dan
menggunakan modem *EC1( dimana saya hanya akan memberikan point-point
nya saa karena sudah banyak referensi ika kita mencoba mencari di luar sana. 0asti
tidak akan memenuhi kebutuhan informasi kamu :5 oleh karena itu saya coba
mencantumkan alamat email diatas. iasanya kita ruuk ke path "etc"kannel" namun akan
berbeda ika kamu melakukan kompilasi secara custom pada 66prefix7"8path9directory"
, berikut konfigurasi yang saya gunakan:
; Custom Config, %nitiated by Hary on tifosilinux.com
; :5 Check these out
;
; %n case we are using *EC1( as a modem to implementing this topologys : <public user, H0=86666
><'('C, +elco=866send sms66<(odem or H0=586666</annel '(' )ateway=86666<?atabase 'erer or
Content 'erer=
; e hae to know A points of /annel which is important to configure like mandatory >m5, optional >o5, and
conditional >c5, then
; *s we know it hae A things to understand : bearerbox as connection handler between smsbox and>to5smsc, smsbox as management function on kannel sms gateway, and wapbox as wap as connection
; Bour group 2 group modem reDuired by group core such as )roup smsbox, smsc, sendsms6user,
smsserice, and modem
; ?iided by 4 log6leel to describes, F : !eel debug, 2 : info, 3 : warning, A : error, 4 : panic
;
; $oted : /annel '(' )ateway can be control" managed by H++0 interface, like http:""localhost:8admin6
port"shutdownGpassword78admin6password
; hich is the 8password on url aboe could be changed with status, suspend, resume, start6smsc, and stop6
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 3/17
smsc
group 7 core
admin6port 7 2AFFF
admin6password 7 harysmatta
status6password 7 probolinggo
admin6deny6ip 7 I.I.I.I
admin6allow6ip 7 23J.F.F.2
smsbox6port 7 2AFFA
;wapbox6port 7 2AFF4 ; $ot needed wap right now
box6deny6ip 7 I.I.I.I
box6allow6ip 7 23J.F.F.2
log6file 7 "ar"log"kannel"kannel.log
log6leel 7 2
access6log 7 "ar"log"kannel"kannel.access
;unified6prefix 7 AKL, FFAKL, F, , FF
;white6list 7 http:""localhost"whitelist.txt
store6file 7 "ar"log"kannel"kannel.store
group 7 smsbox
bearerbox6host 7 23J.F.F.2
sendsms6port 7 2AF2A
sendsms6chars 7 F23A4KMJLN 6
log6file 7 "ar"log"kannel"smsbox.log
log6leel 7 F
access6log 7 "ar"log"kannel"sms6access.log
global6sender 7 M3L22FFFFF
; blacklist 7 http:""localhost"sms"blacklist.txt
group 7 smsc
smsc 7 at
host 7 23J.F.F.2
smsc6id 7 test
;modemtype 7 auto
modemtype 7 waecom
deice 7 "de"tty#'F
speed 7 22K3FF
;alidityperiod 7 2MJ
;keepalie 7 2F
; pin 7 2A24 ; 877 used by )'(
sim6buffering 7 true
sms6center 7 M3L22FFFFF
my6number 7 M3LKA22JM2N2L
;my6number 7 M3L2A2MJM44MK
; (obile phone configuration
group 7 modems
id 7 *EC1(
name 7 waecom
detect6string 7 *EC1(
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 4/17
;detect6string 7 *+ ; #se this if ure set modemtype as automatic on group smsc
init6string 7 *+OF 2 E2 'F7F PC2 P?3 BC!*''7F
;init6string 7 *+C(EE73QC$(%7A,2,F,F,F
;init6string 7 *+C$(%73,2,3,3,F
;keepalie6cmd 7 *+CCQC'O
;message6storage 7 sm
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; <%B= '(' Connection with '(00 as a protocol
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; group 7 smsc >m5 ;
; smsc 7 smpp >m5 ;
; host 7 2F.2NK.J.L ; +hisi is using 0$ managed by pn box in order to connect to telco ipaddress9serer
'(' CE$+ER ;
; port 7 4A33 ;
; receie6port 7 4A33 ; +his is port including %0 in order to connect to telco ;
; smsc6username 7 passinds ; 0roided by telco ;
; smsc6password 7 smpassdf ; 0roided by telco ;
; system6type 7 +C0 ;
; interface6ersion 7 AA ;
; address6range 7 NJNF ; C0 " Content 0roiders 'hortcode proided by telco ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
group 7 sendsms6user
username 7 telkomsel
password 7 telkomsel
max6messages 7 K
concatenation 7 true
; 666 'ER%CE' 666
; 66 Bind these with your own docs from telco 66
; added new parameters :
; Sk 66 keyword
; Sp 66 #ser $umber 'ender
; S0 66 #ser $umber Receier
; St 66 +ime sender
; S+ 66 transactionid
; S? 66 meta6data, forwarded from 1perator >&! reDuest5
group 7 sms6serice
keyword 7 default
;keyword 7 reg
; get6url 7 http:""2N3.2ML.F.2F3:ANJNF"mo"index.phpGsmscid7SiPmsisdn7SpPto7S0Psms7
SaPtrx9date7StPtid7S+Pmeta7S? ; >c5 #R! came from program or
; script will be execute if the keyword match with text gateway receied by. #sing )E+ method in #R!
8777 +he highest one of hierarchy response text
; 0arameter get6url dibawah akan mengembalikan reply couldnt fetch content
;get6url 7 http:""localhost"playsms"plugin"gateway"kannel"geturl.phpGt7StPD7SDPa7Sa
;get6url 7 http:""localhost"mo"getting.phpGtext7SbPsender7Sp
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 5/17
get6url 7 http:""localhost"mo"gettings.phpGsender7SpPto7S0Ptext7SbPtime7St
;get6url 7 http:""localhost"mo"receied.phpGsender7SpPtext7Sb
max6messages 7 A
;text 7 0endaftaran (ahasiswa aru
;;;group 7 sms6serice
;;;keyword 7 %$B1
; post6url 7 ; as same as get6url with different method 01'+ 8777 +he highest one of hierarchy response
text
;;;file 7 "home"hary"info.txt
; /annel helps you to store deliery reports
group 7 mysDl6connection
id 7 mydlr
id 7 dlr6db
host 7 localhost
username 7 kannel
password 7 kannel
database 7 kannels
max6connections 7 2
group 7 dlr6db
id 7 dlr6db
table 7 dlr
field6smsc 7 smsc
field6timestamp 7 ts
field6source 7 source
field6destination 7 destination
field6serice 7 serice
field6url 7 url
field6status 7 status
field6mask 7 mask
field6boxc6id 7 boxc
;group 7 sms6serice
;keyword 7 Reg
;text 7 'elamat anda terdaftar di layanan info %+. ?an tidak dapat berhenti berlangganan. :5:5 C' :
FLKMNF434LN
?ari konfigurasi diatas, sistem mengabaikan hashtag dan kita bisa membacanya sebagai
sebuah informasi. 'emua konfigurasi dan ('%'?$ #$E$AS %NT%K DILI&AT :'()
?idalam informasi tersebut, saya uga memberikan gambaran bagaimana ika shortcode
yang digunakan untuk kepentingan business corporate, adinya tidak dengan
menggunakan msisdn pribadi >kamu bisa lihat6lihat di fitur busness di laman
http:""tifosilinux.wordpress.com5. +inggal disesuaikan pada parameter :
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 6/17
global6sender 7 M3L22FFFFF, dan
sms6center 7 M3L22FFFFF
/arena saya menggunakan operator telkomsel, maka pusat dari pesan saya ruuk ke
M3L22FFFFF dan M3L22FFFFF untuk global6sender yang artinya, setiap nomor yang
diterima ke user >sebagai balasan dari sms (+ yang telah dikirim5 akan menggunakannomor M3L22FFFFF.
/emudian, pada group sms6serice kita bisa melakukan aktifasi ika menginginkan
sistem melakukan reply secara otomatis. +inggal kita masukkan keyword dan text nya
sebagai reply atas keyword yang telah dikirim dari si sender. /annel sebagai receiver
uga dapat melakukan custom reply pada get6url >bisa uga menggunakan post6url dsb5
dimana keyword tertentu yang telah di hardcode atau ter6register sebelumnya akan
melakukan reply sesuai trigger yang telah di register. 'yaratnya set keyword ke nilai
default terlebih dahulu. ?alam hal melakukan dailypush >dimana user ter register dahulu
didalam sistem basis data untuk kemudian dikirimkan (+ '(' >ter charge ataupun
tidak55, kita perlu menyiapkan parameter #R% berikut :
http:""23J.F.F.2:2AF2A"cgi6bin"sendsmsG
username7telkomselPpassword7telkomselPto7FLKMNKF434LNPtext7%si'('yangi
ngindikirim
#ntuk hubungan langsung /annel ke (y'O! guna meyimpan ?!R > Delivery Report 5
tidak akan saya bahas dan kamu bisa mendapatkan referensinya sendiri di internet. Tika
setting dan test berhasil, kamu akan mendapati logging-logging sebagai berikut :
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 7/17
S*ula" Tran"a+"
'ekarang kita coba memperelas hal ini dengan membuat scripting yang amat sangat
sederhana dengan 0H0 dan koneksi (y'O!. /onsepnya begini:
'ebagai penyelia konten terhadap client, kita memutuhkan sebuah tools yang dapat
melakukan registrasi services atau layanan beserta nilai charging, isi konten, sertadeskripsi dari layanan tersebut. ?idalam sistem butuh sebuah trigger guna mencocokkan
antara layanan dengan nilai charging. #ntuk script bisa kamu download di
tifosilinux.wordpress.com, berikut screenshot nya :
Tika sudah mengerti arahnya, kita amati script get6url untuk mendapatkan reply sms
sesuai dengan yang diharapkan. Bile mengacu pada parameter get6url yang digunakan.
+empatkan script sesuai document root kamuQ
8Gphp
"" %nititated by Harysmatta
mysDl9connect>localhost, kannel, kannel5Q
mysDl9select9db>kannels5Q
""http:""localhost"mo"gettings.phpGsender7SpPto7S0Ptext7SbPtime7St
""http:""localhost"mo"gettings.phpGsender7FN3AF3A3Pto723233A3Ptext7?1*Ptime7FN23L3N23
Umsgfrom 7 U9)E+<sender=Q
Umsgto 7 U9)E+<to=Q
Umsgtimestamp 7 U9)E+<time=Q
Usc9keyword 7 U9)E+<text=Q
""1r you can using :
""Usc9keyword 7 UH++09)E+9*R'<text=Q
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 8/17
"" *oiding these nested Duery if u can Q5
Uprice9mapping 7 select b.charging9alue as price from charging b where b.id in>select c.charging9id from
serice9charging9mapping c where c.serice9id 7 >select a.id from serice a where a.serice9name 7
Usc9keyword 55Q
Ukey9price9mapping 7 mysDl9Duery>Uprice9mapping5Q
while>Uresult2 7 mysDl9fetch9array>Ukey9price9mapping55V
Uprice 7 Uresult2<price=Q
W
"" (obile 1riginating like
Uinserting9(1 7 mysDl9Duery>insert into tbl9msgtransacts >(')BR1(, (')+1, (')?*+*, 0R%CE,
(')+%(E'+*(0, '#TEC+, 10ER*+1R5 alues>Umsgfrom, Umsgto, Usc9keyword, Uprice,
Umsgtimestamp, (1Q0#!!Q+E&+, +'E!55Q
Ukeyword9Duery 7 select description from serice where serice9name 7 Usc9keywordQ
Ukey9Duery7mysDl9Duery>Ukeyword9Duery5Q
while>Uresult37mysDl9fetch9array>Ukey9Duery55V
Umsgdata 7 Congrats : .Uresult3<description=.Q
echo Congrats : .Uresult3<description=.Q
W
"" (obile +erminating like
Uinserting9(+ 7 mysDl9Duery>insert into tbl9msgtransacts >(')BR1(, (')+1, (')?*+*, 0R%CE,
(')+%(E'+*(0, '#TEC+, 10ER*+1R5 alues>Umsgto, Umsgfrom, Umsgdata, Uprice, Umsgtimestamp,
(+Q0#!!Q+E&+, +'E!55Q
'esuaikan koneksi ke (y'O! kamu, sebenarnya bisa menggunakan 0?1 ika ? ype
yang digunakan berlainan enis. !cript akan mengambil ariabel pada url kemudian
melakukan pengecekkan pada tabel6tabel yang digunakan saat inserting service
>disarankan kamu membuat service register terlebih dahulu seperti screenshoot diatas5.
!cript akan mencocokkan price sesuai dengan keyword >dalam hal ini kita analogikan
sebagai service5 dan akan melakukan inserting as a "# and ". /ita bahkan bisa
menambahkan status ataupun $losereason dari setiap message, namun belum sempat
saya lakukan. ?an bisa saa kamu memperluas konsep diatas.
/ita bisa melihat setiap transaksi diatas pada table tbl%msgtransacts yang kita siapkan
sebelumnya, berikut screenshoot nya:
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 9/17
'ilahkan kamu buat sendiri (1 raffic sebagai tools complement transaksi diatas Q5
SMS Alert
%baratkan begini, kita seorang business analyst.. dan melakukan sebuah perencanaan
pada setiap $ontent &rovider untuk menalankan campaign sebagai activity sales nya.
/ita menalankan sebuah aplikasi dari endor dimana mulai dari menentukan tipe
layanan yang dialankan, range waktu hingga telco mana yang dipilih, namun satu hal..
tidak ada notifikasi pesan ke 'ccount (ngineer )'(* sebagai perwakilan C0 dan !ystem
'dministrator serta "onitoring eam nya. ahwa telah dialankan sebuah campaign
dengan range waktu tertentu dan di setiap telco dan C0 mana saa campaign telah
beralan hingga selesai.
Tadi yang kita harapkan ada sebuah aktifitas tambahkan untuk mengirimkan notifikasi ke
!ystem 'dministrator serta "onitoring eam. 'ebuah analogi kembali saya coba
perlihatkan:
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 10/17
/arena hal ini berkaitan dengan mengirimkan pesan notifikasi dan sedikit banyak
menentukan dalam membuat keputusan bisnis, maka kita perlu membuat priviliges
berupa sebuah session. Bile6file yang dibutuhkan adalah trigger.sh, triggering.sh,
cekpswd.php, login.html, logout.php, sign.php, sorry.html, green.png, red.png, exec2
s.d. execN.sh serta 'end'('.php. +entu file6file tersebut penamaannya bisa
disesuaikan.
1ke, diperelas.. contoh sample hierarki direktorinya sebagai berikut:"ar"www"html"'end'('.php
"ar"www"html"support"cekpswd.php
"ar"www"html"support"login.html
"ar"www"html"support"logout.php
"ar"www"html"support"sign.php
"ar"www"html"support"sorry.html
"ar"www"html"support"green.png
"ar"www"html"support"red.png
"home"hary"script"trigger.sh
"home"hary"script"triggering.sh
"home"hary"script"exec26N.sh
Se,a!a -a.a.an/ "aya .da+ a+an *e*,er+an de.al D$ dan table-table yan!
d!una+an hn!!a field-field nya/ na*un +a*u ,"a *e*enuh +e,u.uhan .er"e,u.
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 11/17
den!an *e*,a-a script )
/emudian kita breakdown isi setiap scriptQ
0Lo!n)h.*l1
8html8head8title!ogin dulu8"title8"head8body8article style7width:4FSQfloat:leftQmargin:F AFSQ "8b!ogin untuk user yang sudah terdaftar sebelumnya 8"b8pre8form name7frm!og%n (E+H1?7post *C+%1$7"support"cekpswd.php#sername : 8%$0#+ +-0E7text $*(E7uname0assword : 8%$0#+ +-0E7password $*(E7pswd8%$0#+ +-0E7submit *!#E7'ubmit8"form8"pre8"body8"html
!cript menggunakan method post pada attribute nya dan menggunakan nama frm!ogindimana membutuhkan file cekpswd.php guna pengecekkan.
0-e+2"wd)2h21
8Gphp"II 'ession started by Harys(atta on tifosilinux.wordpress.comII"session9start>5QUuname 7 U901'+<uname=QUpswd 7 sha2>U901'+<pswd=5QUhost 7 localhostQUuser 7 rootQ
Upwd 7 QUdb 7 loginQUsDl 7 select I from member where uname7UunameQ
Uconn 7 @mysDl9connect>Uhost, Uuser, Upwd5 or die>/oneksi gagal : . mysDl9error>55QmysDl9select9db>Udb5QUDry 7 mysDl9Duery>UsDl5 or die>Ouery salah : . mysDl9error>55QUnum 7 mysDl9num9rows>UDry5QUrow 7 mysDl9fetch9array>UDry5Qif >Unum77F 1R UpswdX7Urow<pswd=5V header>!ocation: "support"sorry.html5QWelseV U9'E''%1$<login=72Q header>!ocation: http:""localhost"'end'('.php5QWG
?isinilah session kita buka menggunakan fungsi session9start>5Q dan melakukan
pengecekkan ika username dan password sudah di insert secara manual atau belum.
?engan segala detail nya mulai dari koneksi dan pengambilan value dari method 01'+
yang digunakan, ika login berhasil akan di redirect ke halaman
http:""localhost"'end'('.php
0SendSMS)2h21
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 12/17
8Gphpsession9start>5Qif>Xisset>U9'E''%1$<login=55V include>"ar"www"html"support"login.html5QWelseVmysDl9connect>localhost, kannel, kannel5QmysDl9select9db>kannels5Q
echo 8html8head8title+ifosi!inux ordpress8"title8"head8bodyQecho 8article style7width:4FSQfloat:leftQmargin:F AFSQ "Q
echo 8di style7border: 3px solid greenQ height: AJFpxQ padding: KpxQ text6align: leftQ width: 4AFpxQ8form method7post action7'end'('.php8table border7F width74AFpx8tr 8td 8bC0 A+inggi8"b8br 8input type7checkbox alue70ro&!2 name70ro&!20ro&!8br 8input type7checkbox alue7%ndosat2 name7%ndosat2%ndosat8br 8input type7checkbox alue7+'E!2 name7+'E!2+elkomsel8br8br 8bC0 0assindonesia8"b8br
8input type7checkbox alue70ro&!3 name70ro&!30ro&!8br 8input type7checkbox alue7%ndosat3 name7%ndosat3%ndosat8br 8input type7checkbox alue7+'E!3 name7+'E!3+elkomsel8br8br 8bC0 -attaEra8"b8br 8input type7checkbox alue70ro&!A name70ro&!A0ro&!8br 8input type7checkbox alue7%ndosatA name7%ndosatA%ndosat8br 8input type7checkbox alue7+'E!A name7+'E!A+elkomsel8br8br 8"td 8td 8b?uration of Campaign8"b8br 8select name7hour 8option selected7selectedHour8"optionQ for>Ud7FQ Ud8734Q Ud725Vecho 8option alue7UdUd8"optionQ W echo 8"selecthour 8select name7minute
8option selected7selected(inute8"optionQ for>Uc72Q Uc87MFQ Uc725V echo 8option alue7UcUc8"optionQ W echo 8"selectminute"s 8br8br8b'tatus8"b8brQ echo 8iframe src7http:""localhost"support"sign.php height723F width723F8"iframeQ echo 8"td8"tr8"tableQ
"I Bor Example I"if >isset>U901'+<0ro&!2=55V "" echo U901'+<0ro&!2=.8br "Q
shell9exec>"home"hary"script"exec2.sh5QWif >isset>U901'+<0ro&!3=55V "" echo U901'+<0ro&!3=.8br "Q shell9exec>"home"hary"script"exec3.sh5QWif >isset>U901'+<0ro&!A=55V "" echo U901'+<0ro&!A=.8br "Q shell9exec>"home"hary"script"execA.sh5QWif >isset>U901'+<%ndosat2=55V
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 13/17
"" echo U901'+<%ndosat2=.8br "Q shell9exec>"home"hary"script"exec4.sh5QWif >isset>U901'+<%ndosat3=55Vshell9exec>"home"hary"script"execK.sh5QWif >isset>U901'+<%ndosatA=55V "" echo U901'+<%ndosatA=.8br "Q shell9exec>"home"hary"script"execM.sh5QWif >isset>U901'+<+'E!2=55V "" echo U901'+<+'E!2=.8br "Q shell9exec>"home"hary"script"execJ.sh5QWif >isset>U901'+<+'E!3=55V "" echo U901'+<+'E!3=.8br "Q shell9exec>"home"hary"script"execL.sh5QWif >isset>U901'+<+'E!A=55V "" echo U901'+<+'E!A=.8br "Q shell9exec>"home"hary"script"execN.sh5Q
W"I Bor Example I"""if >U901'+<hour= X7 Hour PP U901'+<minute= X7 (inute5if >U901'+<hour= X7 Hour PP U901'+<minute= X7 (inute5V UH1#R 7 U901'+<hour=Q U(%$#+E 7 U901'+<minute=Q mysDl9Duery>+R#$C*+E +*!E YkannelsY.YtriggerY5Q mysDl9Duery>%$'ER+ %$+1 YkannelsY.YtriggerY >YidY, YhourY, YminuteY, YstatusY, YlaststatusY5 *!#E' >$#!!, UH1#R,U(%$#+E, is*ctie, set55Q echo 'chedule has been set8brQWelseV echo 8b$oted : 8"b'chedule P ?uration of Campaign cant be empty8brQW
echo 8input type7submit alue7'ubmit name7submit8a href7http:""localhost"support"logout.php!ogout8"a8"di8"body8"htmlQ
%frame digunakan untuk menampilkan status secara realtime dengan menggunakan file
sign.php dengan (E+* refresh untuk melihat kondisi campaign. )unakan file green.png
untuk status aktif dan red.png ketika status finish. 'tatus dipicu oleh isi dari table
trigger pada field status dan laststatus. 'hell script yang bertugas untuk melakukan
action nya, yakni trigger.sh yang kita set pada cronobs untuk pengecekkan setiap saat.
/emudian script ini akan otomatis melakukkan update waktu cronobs untuk filetriggering.sh
0.r!!er)"h1
;X"bin"bash; 'etup this script with all wildcards : I I I I I "home"hary"script"trigger.sh
check7YmysDl 6hlocalhost 6ukannel 6pkannel kannels 6e select laststatus from kannels.trigger order by id desc limit 2 Z grep 6laststatusY
if << Ucheck 77 set ==Q
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 14/17
then menit7Ycrontab 6l Z grep triggering.sh Z awk Vprint U2WY am7Ycrontab 6l Z grep triggering.sh Z awk Vprint U3WY
hour7YmysDl 6hlocalhost 6ukannel 6pkannel kannels 6e select hour from kannels.trigger order by id desc limit 2 Z grep 6hourY minute7YmysDl 6hlocalhost 6ukannel 6pkannel kannels 6e select minute from kannels.trigger order by id desc limit 2 Z grep 6minuteY
final9minute7Ydate 66date7Uminute minutes S(Y final9hour7Ydate 66date7Uhour hour SHY sed 6i s"Umenit Uam [I [I [I ["home["hary["script["triggering.sh"Ufinal9minute Ufinal9hour [I [I [I["home["hary["script["triggering.sh" "ar"spool"cron"tabs"root mysDl 6hlocalhost 6ukannel 6pkannel kannels 6e #0?*+E kannels.trigger set laststatus7unset where laststatus7setfi
0.r!!ern!)"h1
;X"bin"bash
;number27FLKMNKF434LNnumber37FL2A2MJM44MK
time7Ydate SH:S(Y
;links 6dump http:""23J.F.F.2:2AF2A"cgi6bin"sendsmsGusername7telkomselPpassword7telkomselPto7Unumber2Ptext7%nfo:CampaignhasbeenstopatUtimeaclocklinks 6dump http:""23J.F.F.2:2AF2A"cgi6bin"sendsmsGusername7telkomselPpassword7telkomselPto7Unumber3Ptext7%nfo:CampaignhasbeenstopatUtimeaclock
mysDl 6hlocalhost 6ukannel 6pkannel kannels 6e #0?*+E kannels.trigger set status7is?ie where status7is*ctie
/ita uga membutuhkan file6file exec sebagai action apabila value dari 01'+ sesuai
dengan kondisi, file menggunakan parameter url untuk mengirimkan pesan.
0e3e-4)"h 5 e3e-6)"h1
;X"bin"bash
;number27FLKMNKF434LNnumber37FL2A2MJM44MK
hour7YmysDl 6hlocalhost 6ukannel 6pkannel kannels 6e select hour from kannels.trigger order by id desc limit 2 Z grep 6 hourYminute7YmysDl 6hlocalhost 6ukannel 6pkannel kannels 6e select minute from kannels.trigger order by id desc limit 2 Z grep 6minuteY
;links 6dump http:""23J.F.F.2:2AF2A"cgi6bin"sendsmsGusername7telkomselPpassword7telkomselPto7Unumber2Ptext7%nfo:telco0ro&!diA+inggisedangcampaignlinks 6dump http:""23J.F.F.2:2AF2A"cgi6bin"sendsmsGusername7telkomselPpassword7telkomselPto7Unumber3Ptext7%nfo:telco+elkomseldiA+inggisedangcampaignuntukUhouramUminuteminute
echo date SH:S(:S' "tmp"!1))%$).txt
;links 6dump http:""23J.F.F.2:2AF2A"cgi6bin"sendsmsGusername7telkomselPpassword7telkomselPto7Unumber2Ptext7%nfo:
telco+elkomseldiA+inggisedangcampaign
%si message diatas bisa dirubah sesuai kebutuhan.
0"orry)h.*l1
8H+(!8HE*?8+%+!E 'orry 8"+%+!E8"HE*?81?-8article style7width:4FSQfloat:leftQmargin:F AFSQ "8b #sername ato password anda ndak bener8"b8br
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 15/17
8a href7http:""localhost"support"login.html ack 8"a8"1?-8"H+(!
0lo!ou.)2h21
8G"II 'ession started by Harys(atta on tifosilinux.wordpress.comII"session9start>5Qunset>U9'E''%1$<login=5Qsession9destroy>5Qheader>!ocation: "support"login.html5QG
!cript pada file logout.php diatas akan melepas session yang sebelumnya telah
terbentuk.
0"!n)2h21
8Gphp
mysDl9connect>localhost, kannel, kannel5QmysDl9select9db>kannels5Q
echo 8(E+* H++06EO#%7REBRE'H C1$+E$+7AQ#R!7http:""localhost"support"sign.phpQUstat7select status from kannels.trigger order by id desc limit 2QUhasil27mysDl9Duery>Ustat5QUhasil37mysDl9fetch9array>Uhasil25Qif>Uhasil3<status= X7 is*ctie5V echo 8img src7http:""localhost"support"red.png8"imgQWelseV echo 8img src7http:""localhost"support"green.png8"imgQW
*khirnya kita bisa lihat kondisi pada tiga screenshoot dibawah ini:
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 16/17
7/21/2019 Implementasi Sms Gateway Dengan Kannel
http://slidepdf.com/reader/full/implementasi-sms-gateway-dengan-kannel 17/17
7eferen"
/annel cs63FFAFNF2 #ser\s )uide, 1pen 'ource *0 and '(' gateway *ndreas Bink
Chairman P C+1, )lobal $etworks %nc. [email protected], http+www.smsrelay.com,
http+www.gni.ch, runo Rodrigues, [email protected] , http+litu.orgbruno
I5 'emuanya ditulis diatas sistem !inux 1pen'u'E 22.3 Emerald, 1pen1ffice A.2.2, dia
F.NJ. dan 1kular F.N.K