Category Archives: SMS Technology

SMS related technologies

Persistent paths for dynamic device file

This post is related to playSMS and Kannel, how to configure Kannel when you know that the device file names aren’t persistent.


When USB GSM modem plugged to a server Linux kernel assigned dynamic device file /dev/ttyUSB*, such as /dev/ttyUSB0 or /dev/ttyUSB1. For example, USB GSM modem with 2 ports will then be assigned to /dev/ttyUSB0 for port 1 and /dev/ttyUSB1 for port 2.

Problem starts when we unplug the GSM modem and re-plug back afterwards. Linux kernel will then assign different device file to it, was /dev/ttyUSB0 now /dev/ttyUSB2 and was /dev/ttyUSB1 now /dev/ttyUSB3.

Continue reading


How I Install playSMS

With the very long period between official releases and the habit of playSMS developer (me!) to postpone the official release until it felt its time to, this is what I would do in my box to install playSMS:

mkdir -p /opt/git
cd /opt/git
git clone playsms
cd playsms
ls -l

Above commands will get you the master version of playSMS from Github and saved them in your git local repo that is /opt/git/playsms.

Whenever you have plan to update your playSMS installation and want to get the latest updates you can simply do this:

cd /opt/git/playsms
git pull

If that was my first time and I planned to install playSMS, I would follow manual in provided by playSMS from /opt/git/playSMS/ to install playSMS.

In many installation I’ve done so far, I went for the easiest way to keep sync with the latest. I symlink the git local repo to playSMS installation directory.

For example if my playSMS installation directory would be /var/www/html/playsms then I would do this symlink instead of copying files, like this:

ln -s /opt/git/playsms/web /var/www/html/playsms

So, basically this is how I install playSMS:

Mostly, I’ll use master version. I’ll get playSMS source codes from Github git repository instead of download it from sourceforge or tags.

I’ll install based on manual written in and for web folder I will symlink my git local repo to playSMS installation directory.

That is all.


playSMS 0.9.9

Beberapa hari yang lalu playSMS versi 0.9.9 resmi dirilis. Anda bisa mendapatkannya dariĀ

Rilis ini cukup dekat dengan versi sebelumnya yaitu 0.9.8, hal ini karena pada versi yang lalu banyak terdapat perubahan dan rupanya menghasilkan bug baru yang perlu segera diperbaiki. Untuk itu saya sarankan agar pengguna versi yang lalu agar segera upgrade ke versi 0.9.9 ini.

Changelog selengkapnya bisa lihat di Github playSMS pada file CHANGELOG.

Yang paling menarik dari versi ini adalah peningkatan kemampuan playSMS untuk menangani input data dalam jumlah relatif besar. Misal pada Send from file dan Import CSV di Phonebook, sekali upload atau import data langsung 20 ribu data. Ini adalah peningkatan signifikan karena pada versi sebelumnya angka itu tidak lebih dari 500 data saja.

Peningkatan yang signifikan lainnya adalah pada jumlah SMS yang dapat dikirimkan. Saya mendapatkan informasi dari salah satu pengguna bahwa mereka sebelumnya sudah menggunakan playSMS dan menggunakannya untuk mengirim ratusan ribu SMS per bulan, tetapi ada masalah disana-sini. Kemudian saya bekerja dengannya untuk mengoptimasi playSMS yang mereka pasang. Hasilnya adalah pengiriman SMS bisa mencapai 500 ribu SMS per bulan dan sekali pengiriman via web, misal dari Send from file atau Send SMS, bisa langsung 10 atau 20 ribu SMS. Hasil optimasi ini saya masukkan di 0.9.9.

Bila tidak merepotkan, saya ingin sekali mendengarkan pengalaman anda dengan playSMS :) Yang bagus-bagus boleh, yang kurang menyenangkan juga tidak apa-apa. Kirim email ya, atau say hello di Facebook dan/atau Twitter saya.

playSMS v0.9.3 released

Thanks God its holiday ! That way I can upload the latest code, release it on SourceForge and publish it on Freshmeat.

The latest change log:

Version 0.9.3 – 080520
– PHP PEAR PEAR-DB are removed from playSMS package, install them manually
– lib/fn_sendsms.php, websend2pv(), websend2group() returns array
– fix mobile2uid() in lib/fn_user.php returns wrong value, should be $uid
– fix locating base application path, previously failed to autodetect
– fix admin editing user, previously sender id was not shown correctly
– fix sms_poll not handling keyword correctly, sms_poll_handle()
– fix playsmsd process, changes to config file and php sources not updated
– fix HTTP API, input.php, ta=pv returns “OK” followed by smslog_id
– fix keep sending as SIM message, in kannel gateway, fn.php
– change logger behaviour
– add new plugin/feature, sms_quiz
– add new plugin/feature, sms_subscribe
– add new plugin/feature, sms_autosend
– add new hookable function, lib/fn_sendsms.php, sendsms()
– add new hookable function, lib/fn_core.php, playsmsd()
– remove target_keyword from gateways, setsmsincomingaction()

Get the code, install it and use it on your own. Never forget to contribute back OK, even if it has to be on a smallest, simplest, easiest way.. feedbacks !

playSMS v0.9.3,

Enjoy :)

playSMS v0.9.2 released

This release contains several fixes, read it on:

Upgrade to this version from 0.9.1 is simple, replace all files with the new one, copy config-dist.php to config.php and change config.php accordingly.

Changelog v0.9.2 – 080406
– fix uplink incoming path not to use gnokii incoming path
– fix links on plugin/themes/default/welcome.php should point to index.php
– fix problem when sending message on some php version (please confirm)
– most paths autodetected, simpler config.php

always checkout the latest svn, some bugfixes and enhancements are available in there

svn co playsms


playSMS v0.9.1 released

Version 0.9.1 released.

– Add long SMS support, length of text is configurable
– Add new gateway for sms server tools (compatible with smstools and smstools3)
– Add manual for sms server tools
– Add more UI control possibilities to themes
– Remove frame, playSMS web interface without frame
– Fix issues with input.php, add xml output to delivery status retrieval

Project website is here.

Download latest playSMS package here.

Get the latest source codes on SVN repository here (anonymous read access). Statistics here.

Please report bugs and/or submit feature requests here (in English please).

p.s. we need help translating manuals to Bahasa.


PlaySMS is used by us

An email came to me last night. Lovely mods he did with playSMS. You know what, this sort of thing that I would love to hear from Indonesian.

Hi / Assalamu alaikum Guys,

I noticed in the readme file you would like to know when someone is using
playsms. Just wanna let you know I’m using it with gnokii with a USB Modem
(3G) Huwaei. It’s working excellent. To begin with I had problems using the
plugin gnokii because the gnokii sms deamon did not want to compile. So I
started out using smstools as it worked almost out of the box with my modem
but then I noticed it wasn’t supported by playsms. So I made my own plugin
for it or basically changed gnokii to match the sms format on smstools. I
will send it to you shortly. Furthermore I have developed a small event
system based on a Hijri and Gregorian calender and integrated it with
playsms. Now I have a few additional pages in the menu within playsms where
I can schedule when I when sms’ to be sent and how often etc etc. very
detailed level of planing and I can choose which group to send to. I can
show you a demo or send you some screenshots and you can decide whether you
want the code and the sql scripts if you want to include it. I’m also
scanning the messages scheduled for certain tags before being sent. Because
often I have dynamic data in my sms’s. for instance prayers times. These
change on a daily basis, but I have a people interested in receiving these
every day. I can’t add 365 events with the prayer times naturally, so
instead I have a script that look up prayertimes in the db or on a website
and in the message I have scehduled it says [PRAYERTIMES].

I’m not a prof. programmer I’m more a system admin and I just make scripts
here and there, so it has to be checked for holes etc. before being
published to others. But let me know what you think. The calendar thing
consist of a daemon (check_smsevent.php) checking every n minutes, a
add_smsevent.php and a manage_smsevent.php.

Be more open source by actually writing one.. well, not true, I think it should be… “be more open source by actually share yours” :)

Hav a nice long weekend.

playSMS v0.9 released at

PlaySMS is a flexible Web-based Mobile Portal System that it can be made to fit to various services such as an SMS gateway, personal messaging systems, corporate and group communication tools.

– Multiple database engine supported (using PEAR DB)
– Available for shared database usage (tables using its own prefix)
– Send SMS to single mobile phone (web2mobile)
– Send SMS broadcasted (bulk SMS) to a group of mobile phones (web2mobiles)
– Support sending flash and unicode message
– Receive private SMS to Inbox (mobile2web)
– Forward single SMS to a group of mobile phones (mobile2mobiles)
– SMS autoreply, for easy autoreplying formatted incoming SMS
– SMS board, forward received SMS to email,html and/or xml page
– SMS command, execute server side shell script using SMS
– SMS custom, forward incoming SMS to custom SMS application
– SMS poll, manage polling system using SMS
– Write your own features and gateway to handle incoming and outgoing SMS
– Write your own themes to suit your main websites
– Simple webservices for sending SMS and retrieving delivery reports (input.php)
– Create your own gateway module other than Gnokii, Kannel or Clickatell
– Easy webbased control panel

– Support long SMS, length of text configurable through config.php
– Introduce hooks, some function are hookable
– Introduce themes, new look and feel
– Introduce plugins
– Features, gateway and themes now part of plugins
– Plugins are dynamically loadable (no plugin management available at this time)
– Add all inbox, all incoming and outgoing sms, available from Administration menu
– Remove public phonebook or shared phonebook
– Modify playSMS bin scripts
– Modify installation manual
– Fix bugs on incoming sms handler on all gateway
– Fix bugs on incoming sms handler on all features
– Lots of database changes, forget about upgrading from 0.8.1 (sorry..)

Download version 0.9 here.

View latest source codes on SVN repository here (anonymous read access). Statistics here.

Please report bugs and/or submit feature requests here (in English please).


playSMS v0.9 SVN

Bagi-bagi info dan kerjaan di awal taun nih :)

Mereka yang ingin membantu saya dan rekan ngoprek barang2 GPL buatan Indonesia, silakan akses svn log nya disini:

Saya tau beberapa user pernah menggunakan playSMS, sebagian lain bahkan sampai menyempatkan waktu menulis manualnya dan memodifikasinya. Aplikasi sederhana untuk mengirim dan menerima SMS itu sekarang hendak dirilis versi 0.9 nya di SourceForge, hmm.. makin dekat ke 1.0 yah…

So.. sambil ngutak ngatik distro Linux terbaru yang makin keren ajah, main2 3D, optimasi squid dkk, coba2 juga dong playSMS nya, dan drop me email gituh :)

Ambil source terbaru playSMS:

svn co playsms

Selamat mencoba !

PlaySMS 0.8.1


PlaySMS is a flexible Web-based Mobile Portal System that it can be made to fit to various services such as an SMS gateway, personal messaging systems, and corporate and group communication tools.

Release focus: Minor bugfixes


This release adds multi-session login. It has fixes in gateway modules such as clickatell callback, the SMS autoreply feature, and the playsmsd script.

Release link.