Showing posts with label Communications. Show all posts
Showing posts with label Communications. Show all posts

Sunday, May 24, 2009

Developing SMS Gateway with Wavecom Fasttrack gsm modem, Kannel and Playsms

Developing a SMS Gateway itself appeared to be calculated so easy-hard, I need about four days to research and build it. Fortunately, i get loan gsm modem with brand Wavecom Fastrack, then the old desire to develop and build sms gateway arise again.

Indeed, current trends seem to make sms gateway is not the time anymore. However, because the cheapness sms services, this application is still interesting enough to be used as effective and cheaper, especially with the elections or the elections that the blow-back in my country. Use SMS campaign to become a practical tool for the prospective parlementary council or Head Officer Area Government Administrator(such as Governor, Bupati/Major).

Equipment that need to be provided: the first is clearly a PC, gsm modem (both usb or serial connector), a CD Linux distributions (I use Elastix Distro, based Centos 5.2), why choose this, because I am more familiar with Redhat based distributions, and added little knowledge of the linux command.

First, I need to install Centos. I installed on a PC Intel Atom. After finished install Centos. Test for probing modem, gsm modem (Wavecom Fastrack) that using the serial connector. I use wvdial program to test the modem, because this package should not be in install. I select to install wvdial package via the Internet, because it is easy and in my office LAN directly connected to the internet.
# yum install wvdial

After the installation have finished. I try to test with the command as follows:
# wvdialconf /etc/wvdial.conf

The display message as follows:
Scanning your serial ports for a modem.

ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS0<*1>: ATQ0 V1 E1 -- OK
ttyS0<*1>: ATQ0 V1 E1 Z -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyS0<*1>: Modem Identifier: ATI -- WAVECOM MODEM
ttyS0<*1>: Speed 19200: AT --
ttyS0<*1>: Speed 19200: AT --
ttyS0<*1>: Speed 19200: AT --
ttyS0<*1>: Max speed is 9600; that should be safe.
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
Port Scan<*1>: S2 S3

Found a modem on /dev/ttyS0.
Modem configuration written to /etc/wvdial.conf.
ttyS0: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
Here they are,Wavecom gsm modem with a speed 9600 and the devices is at file /dev/ttyS0. This information is useful when we later do the settings in the configuration file kannel.

Next, we install kannel. Kannel sms engine is that we will use as a sms gateway. Actually there are several types of sms gateway, such as: gnokii, clickatell, sms server tools. However I choose kannel, because I see in google that many use kannel as sms engine and the average trial is listed at success story's list.

You can install using the tarball or rpm, can be downloaded in here for the tarball, for rpm package can be downloaded in here.
For installation using tarbal do the following:
After downloaded, put in the directory, for example : /opt
#tar -xvzf gateway-xxxtar.gz
#cd gateway-xxx
#./configure
#make
#make instal

Program bearerbox, smsbox, wapbox and run_kannel_box installed in /usr/local/sbin. We copy the configuration file from the source in /opt/gateway-xxx/debian.
To install the rpm, the more easily:
# rpm -ivh kannel-xxxrpm
Then edit the configuration file kannel.conf be as follows (this is in my configuration file, your configuration may be different):

group = core
admin-port = 13000
admin-password =
log-file = "/var/log/kannel/kannel.log"
log-level = 0
access-log = "/var/log/kannel/access.log"
smsbox-port = 13001
store-file = "/var/log/kannel/kannel.store"

group = smsc
smsc = at
host = 127.0.0.1
port = 13013
smsc-id = wavecom
modemtype = wavecom
device = /dev/ttyS0
speed = 9600
sms-center = "+6281100000"

group = modems
id = WAVECOM
name = WAVECOM
detect-string = WAVECOM
init-string = "AT+CNMI=2,1,0,0,0;+CMEE=1"

group = smsbox
bearerbox-host = 127.0.0.1
sendsms-port = 13131
sendsms-chars = "0123456789+"
global-sender = "+6281100000"
log-file = "/var/log/kannel/smsbox.log"
log-level = 0
access-log = "/var/log/kannel/access.log"

group = sendsms-user
username = playsms
password = playsms

group = sms-service
keyword = default
accept-x-kannel-headers = true
max-messages = 0
assume-plain-text = true
catch-all = true
get-url = "http://localhost/playsms/plugin/gateway/kannel/geturl.php?t=%t&q=%q&a=%a"

Need to be your attention. these lines, please adjust this configuration and fill with your fit configuration:
smsc-id = wavecom
modemtype = wavecom
device = /dev/ttyS0
speed = 9600
sms-center = "+6281100000"

smsc-id and modemtype fill with wavecom, because i use gsm modem wavecom
and devices such as speed obtained in step wvdialconf above. sms-center use Telkomsel telco provider, because I use a simcard Telkomsel provider.

id = WAVECOM
name = WAVECOM
detect-string = WAVECOM
id, name, and detect-string match with the type of your modem

global-sender = "+6281100000"
global-sender Telkomsel because I use a sim card Simpati.

username = playsms
password = playsms
username and password same with the time we install playsms


If the directory /var/log/kannel not created (usually on the installation using the tarball, if you use the rpm is in the automatic-create), made with the command:

#mkdir /var/log/kannel
#chmod 755 /var/log/kannel


To test whether kannel running well, run the command as follows:
#bearerbox /etc/kannel.conf
Display the following message:
2009-03-13 10:11:44 [3293] [0] INFO: Debug_lvl = -1, log_file = , log_lvl = 0
2009-03-13 10:11:44 [3293] [0] WARNING: DLR: using default 'internal' for storage type.
2009-03-13 10:11:44 [3293] [0] INFO: DLR using storage type: internal
2009-03-13 10:11:44 [3293] [0] DEBUG: Kannel bearerbox version `1.4.3'.
Build `Mar 6 2009 16:02:25', compiler `4.1.2 20070626 (Red Hat 4.1.2-14)'.
System Linux, release 2.6.18-53.1.19.el5, version #1 SMP Wed May 7 08:20:19 EDT 2008, machine i686.
Hostname elastix.example.com, IP 127.0.0.1.
Libxml version 2.6.26.
Using OpenSSL 0.9.8b 04 May 2006.
Using native malloc.

2009-03-13 10:11:44 [3293] [0] INFO: Added logfile `/var/log/kannel/kannel.log' with level `0'.
2009-03-13 10:11:44 [3293] [0] INFO: Started access logfile `/var/log/kannel/access.log'.
2009-03-13 10:11:44 [3293] [0] WARNING: 'store-file' option deprecated, please use 'store-location' and 'store-type' instead.
2009-03-13 10:11:44 [3293] [0] INFO: HTTP: Opening server at port 13000.
2009-03-13 10:11:44 [3293] [0] DEBUG: Started thread 1 (gwlib/fdset.c:poller)
2009-03-13 10:11:44 [3293] [0] DEBUG: Started thread 2 (gwlib/http.c:server_thread)
2009-03-13 10:11:44 [3293] [0] DEBUG: Started thread 3 (gw/bb_http.c:httpadmin_run)
2009-03-13 10:11:44 [3293] [2] DEBUG: Thread 2 (gwlib/http.c:server_thread) maps to pid 3293.
2009-03-13 10:11:44 [3293] [1] DEBUG: Thread 1 (gwlib/fdset.c:poller) maps to pid 3293.
2009-03-13 10:11:44 [3293] [0] DEBUG: starting smsbox connection module
2009-03-13 10:11:44 [3293] [0] INFO: BOXC: 'smsbox-max-pending' not set, using default (100).
2009-03-13 10:11:44 [3293] [3] DEBUG: Thread 3 (gw/bb_http.c:httpadmin_run) maps to pid 3293.
2009-03-13 10:11:44 [3293] [0] DEBUG: Started thread 4 (gw/bb_boxc.c:sms_to_smsboxes)
2009-03-13 10:11:44 [3293] [0] DEBUG: Started thread 5 (gw/bb_boxc.c:smsboxc_run)
2009-03-13 10:11:44 [3293] [5] DEBUG: Thread 5 (gw/bb_boxc.c:smsboxc_run) maps to pid 3293.
2009-03-13 10:11:44 [3293] [4] DEBUG: Thread 4 (gw/bb_boxc.c:sms_to_smsboxes) maps to pid 3293.
2009-03-13 10:11:44 [3293] [0] INFO: Set SMS resend frequency to 60 seconds.
2009-03-13 10:11:44 [3293] [0] INFO: SMS resend retry set to unlimited.
2009-03-13 10:11:44 [3293] [0] DEBUG: smsbox MO concatenated message handling enabled
2009-03-13 10:11:44 [3293] [0] INFO: DLR rerouting for smsc id disabled.
2009-03-13 10:11:44 [3293] [0] INFO: AT2[wavecom]: configuration shows modemtype
2009-03-13 10:11:44 [3293] [0] DEBUG: AT2[wavecom]: Reading modem definitions from

2009-03-13 10:11:44 [3293] [0] DEBUG: AT2[wavecom]: Found <1> modems in config
2009-03-13 10:11:44 [3293] [0] INFO: AT2[wavecom]: modemtype not found, revert to autodetect
2009-03-13 10:11:44 [3293] [0] DEBUG: Started thread 6 (gw/smsc/smsc_at.c:at2_device_thread)
2009-03-13 10:11:44 [3293] [0] DEBUG: Started thread 7 (gw/bb_smscconn.c:sms_router)
2009-03-13 10:11:44 [3293] [0] INFO: ----------------------------------------
2009-03-13 10:11:44 [3293] [0] INFO: Kannel bearerbox II version 1.4.3 starting
2009-03-13 10:11:44 [3293] [7] DEBUG: Thread 7 (gw/bb_smscconn.c:sms_router) maps to pid 3293.
2009-03-13 10:11:44 [3293] [0] INFO: Loading store file `/var/log/kannel/kannel.store'
2009-03-13 10:11:44 [3293] [0] INFO: Store-file size 0, starting to unpack
2009-03-13 10:11:44 [3293] [0] INFO: Retrieved 0 messages, non-acknowledged messages: 0
2009-03-13 10:11:44 [3293] [6] DEBUG: Thread 6 (gw/smsc/smsc_at.c:at2_device_thread) maps to pid 3293.
2009-03-13 10:11:44 [3293] [6] DEBUG: AT2[wavecom]: detecting modem type
2009-03-13 10:11:44 [3293] [6] INFO: AT2[wavecom]: opening device
2009-03-13 10:11:44 [3293] [0] DEBUG: Started thread 8 (gw/bb_store_file.c:store_dumper)
2009-03-13 10:11:44 [3293] [0] INFO: MAIN: Start-up done, entering mainloop
2009-03-13 10:11:44 [3293] [0] DEBUG: AT2[wavecom]: start called
2009-03-13 10:11:44 [3293] [6] DEBUG: AT2[wavecom]: device opened. Telnet mode = 0
2009-03-13 10:11:44 [3293] [8] DEBUG: Thread 8 (gw/bb_store_file.c:store_dumper) maps to pid 3293.
2009-03-13 10:11:44 [3293] [8] DEBUG: Dumping 0 messages to store
2009-03-13 10:11:45 [3293] [6] DEBUG: AT2[wavecom]: device opened
2009-03-13 10:11:45 [3293] [6] INFO: AT2[wavecom]: speed set to 9600
2009-03-13 10:11:45 [3293] [6] DEBUG: AT2[wavecom]: --> ^M
2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: --> AT^M
2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: --> AT&F^M
2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: --> ATE0^M
2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: --> ATI^M
2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: <-- WAVECOM MODEM 009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: <-- MULTIBAND 900E 1800 2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: found string , using modem definition
2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: --> AT+CSMS=?^M
2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: <-- +CSMS: (0,1) 2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:11:47 [3293] [6] INFO: AT2[wavecom]: Phase 2+ is supported 2009-03-13 10:11:47 [3293] [6] INFO: AT2[wavecom]: Closing device 2009-03-13 10:11:47 [3293] [6] INFO: AT2[wavecom]: opening device 2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: device opened. Telnet mode = 0 2009-03-13 10:11:47 [3293] [6] DEBUG: AT2[wavecom]: device opened 2009-03-13 10:11:47 [3293] [6] INFO: AT2[wavecom]: Logging in 2009-03-13 10:11:48 [3293] [6] INFO: AT2[wavecom]: init device 2009-03-13 10:11:48 [3293] [6] INFO: AT2[wavecom]: speed set to 9600 2009-03-13 10:11:48 [3293] [6] DEBUG: AT2[wavecom]: --> ATZ^M
2009-03-13 10:11:48 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:11:48 [3293] [6] DEBUG: AT2[wavecom]: --> AT^M
2009-03-13 10:11:48 [3293] [6] DEBUG: AT2[wavecom]: <-- AT 2009-03-13 10:11:48 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:11:48 [3293] [6] DEBUG: AT2[wavecom]: --> AT&F^M
2009-03-13 10:11:48 [3293] [6] DEBUG: AT2[wavecom]: <-- AT&F 2009-03-13 10:11:48 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:11:48 [3293] [6] DEBUG: AT2[wavecom]: --> ATE0^M
2009-03-13 10:11:48 [3293] [6] DEBUG: AT2[wavecom]: <-- ATE0 2009-03-13 10:11:48 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:11:48 [3293] [6] DEBUG: AT2[wavecom]: --> AT+IFC=2,2^M
2009-03-13 10:11:48 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:11:48 [3293] [6] DEBUG: AT2[wavecom]: --> AT+CPIN?^M
2009-03-13 10:11:49 [3293] [6] DEBUG: AT2[wavecom]: <-- +CPIN: READY 2009-03-13 10:12:00 [3293] [6] DEBUG: AT2[wavecom]: --> AT+CSCA="+6281100000"^M
2009-03-13 10:12:00 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:12:00 [3293] [6] DEBUG: AT2[wavecom]: --> AT+CMGF=0^M
2009-03-13 10:12:00 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:12:00 [3293] [6] DEBUG: AT2[wavecom]: --> AT+CSMS=?^M
2009-03-13 10:12:00 [3293] [6] DEBUG: AT2[wavecom]: <-- +CSMS: (0,1) 2009-03-13 10:12:00 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:12:00 [3293] [6] INFO: AT2[wavecom]: Phase 2+ is supported 2009-03-13 10:12:00 [3293] [6] DEBUG: AT2[wavecom]: --> AT+CSMS=1^M
2009-03-13 10:12:00 [3293] [6] DEBUG: AT2[wavecom]: <-- +CSMS: 1,1,1 2009-03-13 10:12:00 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:12:00 [3293] [6] DEBUG: AT2[wavecom]: --> AT+CNMI=2,1,0,0,0;+CMEE=1^M
2009-03-13 10:12:00 [3293] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-13 10:12:00 [3293] [6] INFO: AT2[wavecom]: AT SMSC successfully opened.

#smsbox /etc/kannel.conf
Display the following message:
2009-03-13 10:13:43 [3302] [0] INFO: Debug_lvl = -1, log_file = , log_lvl = 0
2009-03-13 10:13:43 [3302] [0] DEBUG: Kannel smsbox version `1.4.3'.
Build `Mar 6 2009 16:02:25', compiler `4.1.2 20070626 (Red Hat 4.1.2-14)'.
System Linux, release 2.6.18-53.1.19.el5, version #1 SMP Wed May 7 08:20:19 EDT 2008, machine i686.
Hostname elastix.example.com, IP 127.0.0.1.
Libxml version 2.6.26.
Using OpenSSL 0.9.8b 04 May 2006.
Using native malloc.

2009-03-13 10:13:43 [3302] [0] INFO: Starting to log to file /var/log/kannel/smsbox.log level 0
2009-03-13 10:13:43 [3302] [0] INFO: Added logfile `/var/log/kannel/smsbox.log' with level `0'.
2009-03-13 10:13:43 [3302] [0] INFO: Service global sender set as '+6281100000'
2009-03-13 10:13:43 [3302] [0] INFO: Logging accesses to '/var/log/kannel/access.log'.
2009-03-13 10:13:43 [3302] [0] INFO: Started access logfile `/var/log/kannel/access.log'.
2009-03-13 10:13:43 [3302] [0] INFO: HTTP: Opening server at port 13131.

2009-03-13 10:13:43 [3302] [0] DEBUG: Started thread 1 (gwlib/fdset.c:poller)
2009-03-13 10:13:43 [3302] [0] DEBUG: Started thread 2 (gwlib/http.c:server_thread)
2009-03-13 10:13:43 [3302] [0] INFO: Set up send sms service at port 13131
2009-03-13 10:13:43 [3302] [0] DEBUG: Started thread 3 (gw/smsbox.c:sendsms_thread)
2009-03-13 10:13:43 [3302] [3] DEBUG: Thread 3 (gw/smsbox.c:sendsms_thread) maps to pid 3302.
2009-03-13 10:13:43 [3302] [2] DEBUG: Thread 2 (gwlib/http.c:server_thread) maps to pid 3302.
2009-03-13 10:13:43 [3302] [0] DEBUG: ----------------------------------------------
2009-03-13 10:13:43 [3302] [1] DEBUG: Thread 1 (gwlib/fdset.c:poller) maps to pid 3302.
2009-03-13 10:13:43 [3302] [0] DEBUG: Kannel smsbox version 1.4.3 starting
2009-03-13 10:13:43 [3302] [0] DEBUG: dumping group (sendsms-user):
2009-03-13 10:13:43 [3302] [0] DEBUG: =
2009-03-13 10:13:43 [3302] [0] DEBUG: =
2009-03-13 10:13:43 [3302] [0] DEBUG: =
2009-03-13 10:13:43 [3302] [0] DEBUG: Started thread 4 (gw/smsbox.c:obey_request_thread)
2009-03-13 10:13:43 [3302] [0] DEBUG: Started thread 5 (gw/smsbox.c:url_result_thread)
2009-03-13 10:13:43 [3302] [0] DEBUG: Started thread 6 (gw/smsbox.c:http_queue_thread)
2009-03-13 10:13:43 [3302] [6] DEBUG: Thread 6 (gw/smsbox.c:http_queue_thread) maps to pid 3302.
2009-03-13 10:13:43 [3302] [5] DEBUG: Thread 5 (gw/smsbox.c:url_result_thread) maps to pid 3302.
2009-03-13 10:13:43 [3302] [0] INFO: Connected to bearerbox at 127.0.0.1 port 13001.
2009-03-13 10:13:43 [3302] [4] DEBUG: Thread 4 (gw/smsbox.c:obey_request_thread) maps to pid 3302.
2009-03-13 10:13:43 [3302] [0] DEBUG: Started thread 7 (gw/heartbeat.c:heartbeat_thread)
2009-03-13 10:13:43 [3302] [7] DEBUG: Thread 7 (gw/heartbeat.c:heartbeat_thread) maps to pid 3302.
Installation PlaySMS

PlaySMS installation requirements:
  • Web Server (Apache)
  • MySQL Database Server 4.x.x or higher
  • PHP version 4.4.x or higher with a stable module mysql
  • PHP pear DB (php-pear)
  • A connection to the SMTP server (playSMS use this to send email)
1. Download playsms-0.9.3.tar.gz from the website at http://playsms.sourceforge.net
2. Put in the directory /opt, and untar and unzip playsms-0.9.3.tar.gz
# tar -xvzf playsms-0.9.3.tar.gz
3. Create a playsms directory in /var/www/html
#mkdir /var/www/html/playsms
4. Copy playsms-0.9.3/web to /var/www/html
#cp -pr playsms-0.9.3/web /var/www/html/playsms
5. Create some directory for the log and spool playsms:
# mkdir -p /var/spool/playsms
# mkdir -p /var/log/playsms
6. Create a username and password:
#adduser playsms
#passwd playsms
7. Create a database playsms and import playsms.sql to create their table.
# mysqladmin -u root -p create playsms
# mysql -u root -p playsms < /opt/playsms-0.9.3/db/playsms.sql
8. Copy config-dist.php to config.php, and edit the file config.php
# cp config-dist.php config.php
# vi config.php
The contents more or less as follows:
$db_param['type'] = 'mysql'; // database engine
$db_param['host'] = 'localhost'; // database host/server
$db_param['port'] = ''; // database port
$db_param['user'] = 'root'; // database username
$db_param['pass'] = 'eLaStIx.2oo7'; // database password
$db_param['name'] = 'playsms'; // database name
$db_param['pref'] = 'playsms'; // table's prefix without trailing

Line 5, fill you with the password for user root at mysql database .
Line 6, and 7 same with steps 7.
9. Files playsms, playsmsd, playsmsd.php, and playsmsd_start to the directory /usr/local/bin:
# cd /opt/playsms-0.9.3/bin
# cp playsmsd playsmsd.php playsmsd_start /usr/local/bin/
# cp playsms /etc/default/ Playsms
10.Browse http://localhost/playsms/ and login with the username: admin and password: admin


The log message of send SMS, as follows:
2009-03-13 10:17:46 [3293] [9] DEBUG: boxc_receiver: sms received 2009-03-13 10:17:46 [3293] [9] DEBUG: send_msg: sending msg to box: <127.0.0.1>
2009-03-13 10:17:48 [3293] [6] DEBUG: AT2[wavecom]: TP-Validity-Period: 24.0 hours
2009-03-13 10:17:48 [3293] [6] DEBUG: AT2[wavecom]: --> AT+CMGS=60^M

2009-03-13 10:17:48 [3293] [6] DEBUG: AT2[wavecom]: <-- >

2009-03-13 10:17:48 [3293] [6] DEBUG: AT2[wavecom]: send command status: 1 2009-03-1310:17:48[3293][6]DEBUG:AT2[wavecom]:--> 0031000C912612641405510011A734C834A80EA2A3CBF2320B747EBFC9A0F65BEE4EBBCFA110A8051A4293A069730A42BEE9ECB4BB0C9A96E5F6F4B80C 2009-03-13 10:17:48 [3293] [6] DEBUG: AT2[wavecom]: --> ^Z
2009-03-13 10:17:51 [3293] [6] DEBUG: AT2[wavecom]: <-- >
2009-03-13 10:17:51 [3293] [6] DEBUG: AT2[wavecom]: <-- +CMGS: 81
2009-03-13 10:17:51 [3293] [6] DEBUG: AT2[wavecom]: <-- OK

2009-03-13 10:17:51 [3293] [6] DEBUG: AT2[wavecom]: send command status: 0 2009-03-1310:17:51[3293][6]DEBUG:DLR[internal]:AddingDLRsmsc=wavecom,ts=81, src=62818xxxxxx, dst=+6221xxxxxxxx, mask=31, boxc=
2009-03-13 10:17:51 [3293] [6] DEBUG: SMSC[wavecom]: creating DLR message
2009-03-13 10:17:51 [3293] [6] DEBUG: SMSC[wavecom]: DLR = http://localhost/playsms/plugin/gateway/kannel/dlr.php?type=%d&slid=14&uid=1

2009-03-13 10:17:51 [3293] [10] DEBUG: send_msg: sending msg to box: <127.0.0.1>
2009-03-13 10:17:51 [3293] [10] DEBUG: boxc_sender: sent message to <127.0.0.1>
2009-03-13 10:17:51 [3293] [9] DEBUG: boxc_receiver: got ack

2009-03-13 10:18:04 [3293] [8] DEBUG: Dumping 0 messages to store
2009-03-13 10:18:13 [3293] [9] DEBUG: boxc_receiver: heartbeat with load value 0 received
The log message of receive SMS, as follows:
2009-03-18 13:45:33 [5912] [7] DEBUG: clear_old_concat_parts called
2009-03-18 13:46:06 [5912] [6] DEBUG: AT2[wavecom]: <-- +CMTI: "SM",1 2009-03-18 13:46:06 [5912] [6] DEBUG: AT2[wavecom]: +CMTI incoming SMS indication: +CMTI: "SM",1 2009-03-18 13:46:08 [5912] [6] INFO: AT2[wavecom]: CMTI received, but no message-storage is set in confiuration.setting now to
2009-03-18 13:46:08 [5912] [6] INFO: System error 2: No such file or directory
2009-03-18 13:46:08 [5912] [6] DEBUG: AT2[wavecom]: --> AT+CPMS="SM"^M
2009-03-18 13:46:08 [5912] [6] DEBUG: AT2[wavecom]: <-- +CPMS: 1,40,1,40 2009-03-18 13:46:08 [5912] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-18 13:46:08 [5912] [6] DEBUG: AT2[wavecom]: --> AT+CMGR=1^M
2009-03-18 13:46:08 [5912] [6] DEBUG: AT2[wavecom]: <-- +CMGR: 0,,35 2009-03-18 13:46:08 [5912] [6] DEBUG: AT2[wavecom]: <-- 07912618485400F9240B912618987811F500009030813164958212502B485C76A741F4F29C0E5AA7E5E936 2009-03-18 13:46:08 [5912] [6] DEBUG: AT2[wavecom]: received message from SMSC: +62818445009 2009-03-18 13:46:08 [5912] [6] DEBUG: AT2[wavecom]: Numeric sender (international) <+62818987115>
2009-03-18 13:46:08 [5912] [6] DEBUG: AT2[wavecom]: User data length read as (18)
2009-03-18 13:46:08 [5912] [6] DEBUG: AT2[wavecom]: Udh decoding done len=18 udhi=0 udhlen=0 udh=''
2009-03-18 13:46:08 [5912] [10] DEBUG: send_msg: sending msg to box: <127.0.0.1>
2009-03-18 13:46:08 [5912] [10] DEBUG: boxc_sender: sent message to <127.0.0.1>
2009-03-18 13:46:08 [5912] [9] DEBUG: boxc_receiver: got ack
2009-03-18 13:46:08 [5912] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-18 13:46:08 [5912] [6] DEBUG: AT2[wavecom]: --> AT+CMGD=1^M
2009-03-18 13:46:09 [5912] [6] DEBUG: AT2[wavecom]: <-- OK 2009-03-18 13:46:24 [5912] [9] DEBUG: boxc_receiver: heartbeat with load value 0 received 2009-03-18 13:46:24 [5912] [8] DEBUG: Dumping 0 messages to store
Here are some screenshots of PlaySMS:
SMS Gateway Login
Welcome Page
Send SMS
Send SMS Broadcast
Inbox Incoming SMS
Inbox outgoing SMS
Manage Kannel

Administration Preferences
Main Configuration
Manage Users

Free Web Conference using Dimdim

5 months ago coincidence prompted boss, to search for applications such as Netmeeting or Yahoo Messenger can be used for Video Conference. Free and easy to use. Googling, finally met an interesting application based on web Video Conference, called Dimdim, the address is in here. This is a good news for those who want to use the Video Conference is free and easy. Dimdim own technology platform is built based Web Services 2.0. Built with components such as open source: Mysql, Lighthttpd, Red5, cherrypy, Terracotta, Openoffice.org, etc.


Official Website Dimdim

Video Conference Dimdim application, has 3 web hosting services, the first free attendant with 20, 100 pro with the attendant and the enterprise in 1000 with the attendant. All feature the same is not reduced for both the free, pro and enterprise, than the difference between the amount of attendant, I paid like a pro and enterprise can be customed as customized brand to its consumer in accordance with the desire. In addition, simultaneous meeting facilities only on the Enterprise only.

Creating your account in Dimdim Hosting

If we want to use the free service of web hosting Dimdim Sign-Up live alone, and get a free account. Features are also quite complete, such as desktop and share web pages, share presentations (ppt, pdf), chat, chat and broadcast via webcam video, shared whiteboard, record and playback meetings, and many others. One of the interesting features is the SynchroLive technology, this technology can detect bandwidth, network traffic and their using.

Dimdim Views Log in Dimdim Web Hosting

Ease of Dimdim, we are without having to install anything, just rely on any browser (IE, Firefox, and Safari), which already support Adobe Flash Player 9 and above. While the operation of the operating system is supportted : Windows, Mac and Linux.

Check the OS, and Browser Addon Adobe Flash Player at the time of entry into Dimdim

In the case of integration with other applications is also quite good, Dimdim can be integrated with Zimbra (Email, Messaging and Collaboration Suite), SugarCRM (Customer Relationship Management), Moodle (Course Management System), Claroline (E-learning Management System), docebo (E -learning Management System), we can even integrate with applications that make our own with Dimdim API.

If we do not want to use the version of hosting, and want to build their own applications Dimdim, Dimdim provides a software version of open source comunity and can be downloaded in here. Available versions and source code version package for Centos 5.2 version is available and VMware Appliance if we want to try on the virtual server. In the version of open source community, Dimdim Meeting Portal functionality is not available.

Dimdim overall worth to try to use the Video Conference for free. Happy Testing!

Here are some screenshot in Dimdim Hosting:
Home Account Dimdim
Share Whiteboard
Share pdf documents
Chat
Video Broadcaster

Thursday, May 21, 2009

Elastix 1.3, a distro IP-PBX based on full features of Asterisk

If you talk VOIP problems, then we will get the keyword asterisk, a popular application softswitch, Linux-based OS. The emergence of these applications also create multiple popular speciality a linux distro for Voip with asterisk specialization. There are many distro like this, such as Trixbox, AstLinux, Askozia, AsteriskNow, etc. However I find one have special asterisk distro with a complete features, from Instant Messaging Service (Openfire), the CRM (sugarcrm and vtigercrm) and Fax server (Hylafax). Also available for Mail Server (postfix) and WebMail (roundcube).

The distro is called Elastix, based on Centos with specialitiy ,asterisk come from Ecuador, South America. . Other features that are not less interesting is the Call Center module. In addition Billing Service is also integrated inside, its billing system using A2Billing, and besides OSLEC included therein, an Echo Canceller made David Rowe. Truly a Asterisk Linux distribution based on Centos. Administration shall be made with the web based gui, with a dashboard interesting and comprehensive, making it easier for administrators. You can visit the website in here.

Next I create a screenshot of the install Elastix version 1.3.
1. Download it's iso in http://www.elastix.org.
2. Burn to CD, and booting via CD-ROM.

3. Press Enter.

4. Select type Keyboard, I choose us. Then click OK.

5. Select Time Zone, I select Asia / Jakarta. Then press OK.

6. Enter the root password. Then OK.

7. HD will be formatted ...

8. Packages start installed, so approximately take 15-20 minutes, while drinking coffee ... Once completed, the PC will be doing the booting, do not forget to remove the CD-nya.


9. Above display console if we login with ssh. Coincidence here I use DHCP, so I get the IP Address. If the place you do not use DHCP, you can set the IP Address. Login as root. Run setup.
#setup, press enter.

10. Select Network configuration, and press Enter.

11. Press Yes.

12. Uncheck Use dynamic IP configuration, the contents of IP Address, netmask, default gateway and Primary nameserver (DNS server).

13. Log in to the browser and access the IP Address that we install.

14. Enter the user: admin, password: palosanto (this is the default password). Please, replace with new password after login, to be more secure.

15. Above is a Dashboard/Control Panel from the Elastix Web Gui.