Software Engineering

Gammu : sms multipart insert into outbox dengan Trigger

Written by Resika Arthana · 40 sec read >

sms gateway gammu_triggerSalah satu cara mengirim SMS dengan gammu adalah dengan mengisi tabel outbox pada database gammu. tabel outbox pada gammu terbatas hanya untuk mengirim paling banyak 160 karakter. Jika lebih dari 160 karakter, maka SMS tersebut harus dipecah-pecah dan bagian lain harus ditaruh di tabel outbox_multipart. Untuk mengirim SMS lebih dari 1 karakter, terlebih dahulu harus di generate UDH (user Data header). UDH dan pembagian SMS bisa dibuat pada level trigger pada database.

Berikut adalah ketentuan untuk menggenerate UDH  pada Gammu:

Contoh format UDH pada GAMMU : 05 00 03 XX 0N 0n
05 : adalah panjang dari UDH
00 : menentukan apakah sms Concatenate atau tidak
03 : length of rest part of data
xx : reference header, 00-ff (acak)
0N : jumlah SMS yang dikirim
0n : nomor SMS

Contoh 050003ff0201 : merupakan UDH untuk SMS multipart( 2 SMS) yang merupakan SMS ke 1.

Jika ingin mengirip SMS dengan cara menginsert di otubox pada database, sebaiknya di buat di level trigger. Trigger yang digunakan adalah trigger sebelum data dimasukkan ke outbox dan trigger setelah dimasukkan ke outbox.

langsung aja, untuk memudahkannya.. buat saja di level trigger pada database.

yang ini saya update tanggal 30 september 2009

Download Trigger outbox_before_insert

Download Trigger outbox_after_insert

cmiiw 🙂

Written by Resika Arthana
I Ketut Resika Arthana, staff dosen di Undiksha. Juga sebagai ketua divisi pengembangan sistem informasi di UPT TIK - Undiksha. Selain itu, juga sebagai co-founder PT. Hooki Global Kreasi. Bidang ilmu ditekuni : pemrograman, datamining, user experience dan IOT Profile

31 Replies to “Gammu : sms multipart insert into outbox dengan Trigger”

  1. boss, kalau pengen lebih dari 2 sms yang dirubah

    Contoh format UDH pada GAMMU : 05 00 03 XX 0N 0n
    05 : adalah panjang dari UDH
    00 : menentukan apakah sms Concatenate atau tidak
    03 : length of rest part of data
    xx : reference header, 00-ff (acak)
    0N : jumlah SMS yang dikirim —> dibagian ini ajah yaa
    0n : nomor SMS

    trus di triggernya perlu ada perubahan lagi nda ?

  2. boss sy mau share hasil test niiih. Sy coba input di outbox dengan text berikut :

    ####
    Pengamat pasar modal, Irwan Ibrahim mengatakan potensi konsolidasi saham BUMI karena investor masih menunggu kejelasan pinjaman dari CIC. Menurutnya, investor masih harus mendapatkan informasi lebih detil lagi terkait jenis utangnya baik berupa obligasi, waran, saham atau apapun dan berapa tingkat suku bunganya.
    Kejelasan itu, nantinya akan disampaikan BUMI secara resmi ke Bursa Efek Indonesia (BEI). Selain itu, pelemahan harga komoditas juga turut menekan saham produsen batubara thermal ini. “BUMI akan bergerak pada kisaran support Rp 3.250 hingga level resistance Rp 3.400,” katanya kepada INILAH.COM, di Jakarta, Minggu (27/9).
    ####

    oleh triger dipecah jadi
    ##1
    Pengamat pasar modal, Irwan Ibrahim mengatakan potensi konsolidasi saham BUMI karena investor masih menunggu kejelasan pinjaman dari CIC. Menurutnya, inv

    ##2
    asih harus mendapatkan informasi lebih detil lagi terkait jenis utangnya baik berupa obligasi, waran, saham atau apapun dan berapa tingkat suku bunganya.

    ##3
    . Kejelasan itu, nantinya akan disampaikan BUMI secara resmi ke Bursa Efek Indonesia (BEI). Selain itu, pelemahan harga komoditas juga turut menekan sah

    ##4
    ham produsen batubara thermal ini. “BUMI akan bergerak pada kisaran support Rp 3.250 hingga level resistance Rp 3.400,” katanya kepada INILAH.COM, di Jak

    ##5
    karta, Minggu (27/9).

    dari potongan itu ada beberapa kata yg hilang antara sms 1 dengan yg ke dua. Kata yang hilang itu adalah “estor m”

    qr2 kenapa yaa.

  3. sepertinya masih bagus yg pertama deh trigernya.
    yang ini malah ngaco pemenggalannya…

    boss. sekalian di terangin donk fungsi-fungsi yang ada di triger tuuh. Sekalian buat belajar, maklum masih awam. siapa tau qt juga bisa bantu ngasih masukan..

  4. sebetulnya saya punya script tuk bikin sms multipart dari alikasi insert data ke tabel outbox dan outbox_multipart dengan kondisi looping cuma ko kalo ada sms yang berbarengan waktu masuk kadang sms keduanya suka gabung dengan sms pertama yang lain atau ngaco

  5. mas ko aku coba ga bisa ya aku import file triggernya di mysql ada keterangan, saat ini aku pake mysql version 5.0.33

    “#1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘set @countM=hex((length(new.TextDecoded) div 154)+1)’ at line 5 ”

    apakah penggunaannya aku harus drop dulu database gammu existing n di create gabung sama create table inbox,outbox dan lain-lain dari mysql filenya atau gimana? thanks

  6. mas aku dah coba buat trigger di tabel outbox tapi tetep terkirim 1 sms ya, please pencerahannya, aku hanya insert data ke tabel outbox saja

    $sql_sms = “INSERT INTO outbox (UpdatedInDB ,InsertIntoDB ,SendingDateTime ,Text ,DestinationNumber ,”.
    “Coding ,UDH ,Class ,TextDecoded ,ID ,MultiPart ,RelativeValidity ,SenderID ,SendingTimeOut ,DeliveryReport ,CreatorID)”.
    ” VALUES (NOW() , ‘0000-00-00 00:00:00’, ‘0000-00-00 00:00:00’, NULL , ‘$msisdn’, ‘Default_No_Compression’, NULL ,”.
    ” ‘-1’, ‘$finalmessage’, NULL , ‘true’, ‘-1’, NULL , ‘0000-00-00 00:00:00’, ‘default’,”)”;

    ada yang salah kah?? thanks before

  7. lo dengan gammu bisa ga SMS sender ID(SMS broadcast) yang kyk pengumuman presiden to!!!????gmn ya caranya buat???

  8. Oh gitu.. klaau dengan commit rollback dan looping bisa kacau ya kirim udhnya?

    Dengan begitu menggunakan trigger..? Lebih save?
    (btw iya lebih sopan ya ^^ )

    Terima kasih,

    Luckman R

  9. Maaf Saya Newbee Gimana Caranya Klo Terima SMS PanJang sms’nya tidak di potong2…
    Saya Menggunakan Gammu + PHP, Setiap Kali Menerima SMS Panjang Dari Luar SMS tersebut SLalu Di Pecah Sama GAMMU nya….

    GImana ya Caranya Supaya SMS yg Masuk itu tidak di Pecah2

    1. @doddy : triggernya uda diinstal mas?
      @iwan : langsung execute aja mas, atau bisa melalu ems
      @gus : bagian yang blm ngerti dmana gus. untuk broadcast tinggal looping aja data lalu taruh di outbox
      @luckman :he3.. nda ngerti maksdnya mas
      @irvan : kalo saya buat tabel temporari (ex: tempinbox), fieldnya sama dengan tabel inbox. ditabel inbox saya isi trigger before insert. jadi nanti kita tinggal akses tempinbox.

      CREATE TRIGGER inbox_before_ins_tr BEFORE INSERT ON inbox
      FOR EACH ROW
      BEGIN
      DECLARE done int default 0;
      DECLARE n,stats int default 0;

      DECLARE CONTINUE HANDLER FOR SQLSTATE ‘02000’ SET done = 1;

      if new.udh=null or right(new.UDH,2)=’01’ or new.UDH=” then
      INSERT INTO tempinbox
      (UpdatedInDB, ReceivingDateTime, Text,
      SenderNumber, Coding, UDH, SMSCNumber, Class,
      TextDecoded, ID, RecipientID, Processed, Viewed,
      autorespon, del) VALUES
      (new.UpdatedInDB, new.ReceivingDateTime, new.Text, new.SenderNumber,
      new.Coding, new.UDH, new.SMSCNumber, new.Class, new.TextDecoded,
      new.ID, new.RecipientID, new.Processed, new.Viewed,
      new.autorespon, new.del);

      else
      update tempinbox set textdecoded=concat(textdecoded,new.TextDecoded) where left(udh,10)=left(new.UDH,10);

      end if;
      END;

      .-= rey1024´s last blog ..codeigniter – membuat rss feed dan penanganan error codeigniter rss error A PHP Error was encountered Severity- Warning Message- Cannot modify header information – headers already sent by output started at sessionphp =-.

  10. Mas Udah Aq Coba trigger before insert nya yg mas kasih di atas napa ya erros atau ga mau di exekusi sama mamang mysqlnya???

    Pada baris
    “FOR EACH ROW” udah error…

  11. mas ikut gabung ya…. aku nyoba juga trigger di inboxnya, tapi waktu trigger dibuat tidak sukses itu Mulai line 4 pesennya error 1064(42000):you have an error in your sql sytax; check the manual that coresponds to your mysql server version for the rigth syntax to use near ” at lin 4

    mohon pencerahnya….

  12. Pak, saya buat trigger via PHPMyAdmin. Kok gak bisa ya?? ada pesan gini

    #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ” at line 5

    saya pake MySQL versi 5.0.67

    Solusinya gimana y pak ? Makasiih.

  13. mas.. ak udah coba triggernya.. tapi kok ga mau jalan ya?? trs jg malah sms yg aku kirim ga masuk sama sekali ke inbox gammu,, trs jd gbs ngirim sms jg gt.. kenapa ya mas?? mohon bantuannya

    @sagung.. coba di bagian delimiter yg “;” di ganti sama “$” mas..kmrn saya jg pernah masalah itu.. trs di codinganya ” ganti jd ‘ ‘(tnpa spasi)..

  14. kak, gmna caranya agar bisa menerima+memproses inbox di gammu dengan panjang sms lebih dari 160 karakter?

  15. Thanks Penjelasannya. bermanfaat sekali.
    Oh ya, mau tanya sekalian.
    apakah gammu itu bagus untuk sms gateway di sistem informasi sekolah ya..??

  16. Bantuin mas yang punya blog.
    @Sayful : Gammu adalah salah satu aplikasi untuk memanage sms gateway agar lebih mudah, yang dimaksud sms gateway adalah perangkatnya yaa. Masih banyak aplikasi yang serupa seperti playSMS, SMS2Go, dan lain yang berbayar maupun gratis. Bagus tidaknya aplikasi tergantung user / developer yang memanfaatkannya. Perangkat yang didukung oleh gammu adalah yang umum. Kelebihan dan kekurangan gammu tidak bisa saya paparkan disini. Silahkan membaca di website gammu.

  17. Mf pak master2. Mau tanya bagaimna buat trigernya tbl.satus ke tbl outbox . Trimaksih pak master2..mhon bantuannya

Leave a Reply to Warid Cancel reply

Your email address will not be published. Required fields are marked *

Page optimized by WP Minify WordPress Plugin