Minggu, 27 Juni 2010

Mengintegrasikan SMS Gateway di jaringan lokal, dengan Web di Hosting

Mumpung diberi libur dari melakukan perjalanan spiritual, posting tentang SMS Gateway daripada kepikiran lagi nanti..

Seorang bertanya kepada saya:"Mas bisa nggak ya web sekolah saya yang di internet, dikasih fasilitas sms masuk"

Saya jawab:"bisa dengan berbagai catatan,
1. kalau nggak minta ijin ke web hostingnya untuk pasang modem,
2. ya njenengan pesen VAS SMS ke Conten Provider,
3. atau buat sendiri dengan syarat ada koneksi internet.."

Dia bilang:"Ada mas koneksi.. ada modem, ada server yang sudah kita buat itu"

Dan akhirnya secara sederhana bagannya adalah sebagai berikut:


Bagan network sms gateway dengan hosting

PC kita selanjutnya akan diberikan satu script dengan nama sendtohosting.php, yang akan mengambil dari database gammu, yang akan dicrontab seperti ini kira kira

*/1 * * * * /usr/bin/php /var/www/html/script/sendtohosting.php


atau memberikan aksi pada saat SMS masuk pada script smsdrc anda:
runonreceive=/usr/bin/php /var/www/html/script/sendtohosting.php


Terserah tekniknya jika dengan /usr/bin/php tidak dapat dilakukan, bisa dilakukan dengan memanggil curl http://localhost/script/sendtohosting.php.


Buat penggemar Windows silakan menyesuaikan pathnya ya.. Script ini sebaiknya melakukan cek tidak hanya ketika SMS Masuk, namun setiap saat, karena tidak setiap koneksi internet dapat menjamin komunikasi dua server ini. Jika dilakukan crontab 1 atau 2 menit sekali, tentu akan selalu update proses pengiriman smsnya.


Pada sisi hosting akan diletakkan satu file dengan nama : receiver.php. Script ini berjalan ketika terjadi HIT oleh sendtohosting.php di posisi remote dan dihubungkan dengan database SMS yang dipasang disana (terserah formatnya). Script ini, jika sendtohosting.php, alias IP address SMS Gateway statik, maka sebaiknya dikunci dengan menentukan $_SERVER['REMOTE_ADDR'];Jika tidak , hehe menunggu postingan saya berikutnya

Nah berikut script sendtohosting.php yang dipasang di SMS Gateway lokal


<?php

//skrip untuk menghubungkan SMS Gateway lokal dengan hosting.. skrip ini dipasang untuk berhadapan dengan gammu.. Penggunaannya adalah:
//1. harus ada koneksi internet,
//2. database gammu

$urlhosting = "http://localhost/bankscript/receiver.php";
$dbname = 'gammu';
$dbuser = 'root';
$dbpass = '';
$dbhost = 'localhost';


if(mysql_connect($dbhost,$dbuser,$dbpass)){
mysql_select_db($dbname);
}else{
echo 'DB ne ra konek!!';
}

//bukak sms satu persatu

$q = "SELECT `SenderNumber`,`TextDecoded`,`UpdatedInDB` FROM `inbox` WHERE `Processed`='false'";
$mq = mysql_query($q);
$n = mysql_query($q);

while($r=mysql_fetch_array($mq)){
$sms = $r['TextDecoded'];
$nohp = $r['SenderNumber'];
$time = $r['UpdatedInDB'];
$id = $r['ID'];
$url = $urlhosting . "?sms=".$sms."&nohp=".$nohp."&time="$time;
$hostingopen = fopen($url,"r");
$hostingread = fread($hostingopen,100);
//jika sukses mengantarkan URL
if($hostingread=="OK"){

$q2="UPDATE `inbox` SET `Processed`='true' WHERE `ID`='$id'";
mysql_query($q2)
}
}






?>

Untuk $urlhosting silakan dipasang saka url website anda, misal http://sekulakusekolahapik.sch.id/receiver.php

dan pada bagian ini tentukan sesuai dengan database

$dbname            =    'gammu';
$dbuser            =    'root';
$dbpass            =    '';
$dbhost            =    'localhost';


Kemudian pada bagian hosting kita letakkan script php ini untuk memasukkan sms ke dalam tabel smsnya


<?php
$ipallow='127.0.0.1';
//tidak harus disitu



if(($_SERVER['REMOTE_ADDR'])!=$ipallow){
echo "NOT ALLOWED";
}else{


$dbname            =    'smssekolah';
$dbuser            =    'smssekolah';
$dbpass            =    'admine_hosting_mambu_prengus';
$dbhost            =    'localhost';


if(mysql_connect($dbhost,$dbuser,$dbpass)){
    mysql_select_db($dbname);
}else{
    echo 'DB ne ra konek!!';
}



if(isset($_GET['nohp'])){

echo "OK";

$sms=$_GET['sms'];
$nohp=$_GET['nohp'];
$time=$_GET['time'];

$q="INSERT INTO `sms_masuk` (`id`,`nohp`,`sms`,`time`) VALUES ('','$nohp','$sms','$time')";
mysql_query($q);

}
}
?>


Nah sekarang, testlah dengan sms ke nomer SMS Gateway.. dan lihatlah pada data SMS di hosting.. Begitulah kira kira secara sederhana, dan akan saya tambahkan kapan-kapan setelah pengembaraan nanti malam berlanjut...

CMIIW

33 komentar:

  1. jane ra moco, mung langsung komen, hihihihiih

    BalasHapus
  2. suatu ketika rak berguna mengko mbak

    BalasHapus
  3. aku ra moco komen langsung nyauri

    BalasHapus
  4. Metune ngene =
    'DB ne ra konek!!'

    wkwk. . .
    Rep takon, mbok entuk ya :(
    itu berarti masuk ndek database to sms2 e?
    Ha nek pas mbludak ngono pas ujian opo pas kelulusan, sakke hosting web e. Biasanya kan terbatas space nya. Heee ='=
    njuk nek pas gak melbu goro2 kekebegen, njuk pie lik?

    BalasHapus
  5. lha kui jenenge database ne ra konek po malah ra ono, liat postingan lalu :D berhubungan lho..


    NDak maslaah sih sebener e, toh sms khan maksimal 160 karakter.. yo pesn hosting e sing gede.. :D leptopku diserbu poling dan macam2 nggo pilkada nan wingi yo ra popo kok .. mung panas :D

    BalasHapus
  6. Wekk. Opooh ?? Kok nganggo leptop ik serper e. . .gendheng taa :D
    ahahahaaa
    leptop e meledak gak lik??

    BalasHapus
  7. rapopo , masalah e ki dudu leptop atau bukan ,tapi spek e.. sms gateway juga bisa kok nganggo pc p2 :D

    sing ndagel ki mbiyen aku 2 tahunan pegang server hosting sng ram e ra ono satu giga, dan hd ne mung 30GB :)), lha nek laptopku wae saiki hd ne 250 ram e 2 gb, windows meneh.. nek linux koyo nang server, selama sing nginstal aku yo ra tahu hang hahahaha

    BalasHapus
  8. Ratau nge hang. Ha nanging man eman leptop e. . .
    Jan menindas, keno undang2 perikeleptopan mengko. Huahahaaa. . .mantab lah lik. .

    huoo, pc jaman pekak rag enak kuwi mesti yoo, jek pentium setengah. Hehee

    BalasHapus
  9. ngalami nganggo 8088 ora? lha nek dinggo smsan jelas mending tuku nggo bandem kirik wae saiki.. ming yo mbiyen rasane wis ampuh2o dewe

    BalasHapus
  10. baiklah suhu.... akan saya percobakan sekabur dari melancong

    BalasHapus
  11. Orag ngerti 8088, pie kuwi
    *ndodog nun njogan cemil2 gorengan nunggu didongengi*

    BalasHapus
  12. wekekekeee bahasane top tenan.. istilahe.. boleh dipakeeeee... model ngene ki siap dinggo kae mbiyen kang

    BalasHapus
  13. kui jaman kepenak mbien isih jaman pak harto durung keconangan mbiyen.. komputer sing bakal e dadi 8086 30286(286) 386 486 586 pentium75 pentium 100 pentium MMX, pentium 2, pentiyem 3 pentiyem 4 , nganti dual kor sing saiki dadal dual kui

    BalasHapus
  14. Wogh. . .tuwo buwanget ='= jeh cenger, iks

    BalasHapus
  15. hehehehehe memang wis tuwo.. sing nom nom dolanane fesbuk wae

    BalasHapus
  16. Ihik ihikk. . .ki loh gak dolanan. . .wong mung ketik2 hurup njuk submit, eh ngerti2 dadi status. Hohooo. . .
    *arep dolanan dakon gak eneng kancane, do mijeti hape kabeh owg*

    BalasHapus
  17. karo do mijeti kibot.. mlenyuk2 tikus.

    BalasHapus
  18. nek arep cerito pesbuk tak sediani Artikel dewe kae lagi bar tak post

    BalasHapus
  19. bisa lebih sederhana, tinggal mainan di port mysql aja, di allow spy user dari ip hosting diallow untuk akses mysql di pc smsnya

    BalasHapus
  20. menurut saya, bermain dengan port mysql membawa kerawanan untuk Gammu. Karena pengalaman untuk versi yang saya gunakan, ketika putus, gammu butuh restart.

    BalasHapus
  21. saya pernah coba dan tidak ada masalah. tapi memang harus dipastikan kalau koneksinya selalu bagus. atau kalau koneksi jelek bisa gunakan bash script dan fping untuk ngecek reabilitas koneksi. ketika terputus maka otomatis semua service akan direstart

    BalasHapus
  22. iya mas, terimakasih masukannya, mungkin bisa dishare tutorial pembuatan scriptnya

    BalasHapus
  23. ah itu terlalu rumit kang bimo, saya malah berbekal browser dan sms4free udah bisa buat sms-an *seriusmodeon

    BalasHapus
  24. Wuaaaaahh.. brarti butuh 2 server donk yah om?? (local sama web hosting)... Ini sama kasusnya kayak di kampus, lah kampus enak punya server sendiri, punya web hosting sendiri.. kalo kasusnya cuma punya bekal web hosting piye om?? Semalem nin coba2 cari untuk web sms service, yang nyedian script PHP untuk koneksi, cuma ya itu om, pricing nya gila2an.. liat clikatell kemaren sms outbound (buat ngirim ke pelanggan doank) harganya 25euro, padahal pengen bisa inbound juga.. ada suggest kah om?? Tarereeeenggkyuuu :D

    BalasHapus
  25. bukan dua server. satu hostingan, dan satu lagi komputer lokal yang ada sms gatewaynya yang terhubung ke internet. setiap kali di komputer itu dapat sms, langsung dikirim ke hosting. prosesnya sama saja hanya ditambah dengan script untuk ngecek saja

    BalasHapus
  26. berarti komputer lokal nya harus tetep on donk om??

    BalasHapus
  27. betul nin .. atau cara lain adalah tanpa modem tapi ikut sms premium kekekekek nanti diarahkan ke server itu.. ongkosnya yang mahal

    BalasHapus
  28. busyet dah... minta langsung ke sms provider gitu om?? *kejengkang*
    masih bingung juga mau pilih yg mana... mau pake modem gammu ya mesti sedian infrastruktur di kantor nya dan beberapa kemungkinan (kayak sms mahal ke provider berbeda) atau mau sms service (lebih milih clickatell, lebih murah daripada 3 web sms service yang nin temuin)... masih mikir2 dulu dah.. tapi ntar kalo jadi pake gammu, bantuin yah om?? Huehehehee.. matur tengkyuuuuu XD

    BalasHapus