Sqlbox Documentation

I’m now the maintainer for Sqlbox, and I’ve decided to start by writing proper Sqlbox Documentation.

I’m doing a refactoring on the build scripts to integrate Documentation into the build workflow (as Kannel does), will release my first Sqlbox source tree soon, but I wanted to release some Docs beforehand so other people can start using it.

Here’s a first approach at Sqlbox Documentation:

Sqlbox User Guide (PDF Format)

Sqlbox User Guide (HTML Format)

I know it still needs some polishing, but I hope it helps to ease the learning curve and installation questions that shows on Kannel’s mailing list from time to time.

Comments (60)

LuisAugust 11th, 2011 at 10:03 PM

Hi Alex!

I’m trying build a rpm from svn rev 48 but I have the following error:

+ /usr/bin/make
make[1]: Entering directory `/root/rpmbuild/BUILD/sqlbox-cvs’
/usr/bin/make all-recursive
make[2]: Entering directory `/root/rpmbuild/BUILD/sqlbox-cvs’
Making all in gw
make[3]: Entering directory `/root/rpmbuild/BUILD/sqlbox-cvs/gw’
gcc -DHAVE_CONFIG_H -I. -I.. -I../gw -I../gw -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m64 -mtune=generic -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -I/usr/include/openssl -I/usr/include/kannel -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m64 -mtune=generic -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_LARGE_FILES= -I/usr/include/libxml2 -I/usr/include/openssl -I/usr/include/mysql -MT sqlbox.o -MD -MP -MF .deps/sqlbox.Tpo -c -o sqlbox.o sqlbox.c
sqlbox.c: In function ‘run_sqlbox’:
sqlbox.c:450: warning: cast from pointer to integer of different size
sqlbox.c: In function ‘wait_for_connections’:
sqlbox.c:490: warning: cast to pointer from integer of different size
sqlbox.c: In function ‘sqlboxc_run’:
sqlbox.c:616: warning: cast from pointer to integer of different size
mv -f .deps/sqlbox.Tpo .deps/sqlbox.Po
gcc -DHAVE_CONFIG_H -I. -I.. -I../gw -I../gw -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m64 -mtune=generic -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -I/usr/include/openssl -I/usr/include/kannel -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m64 -mtune=generic -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_LARGE_FILES= -I/usr/include/libxml2 -I/usr/include/openssl -I/usr/include/mysql -MT sqlbox_mssql.o -MD -MP -MF .deps/sqlbox_mssql.Tpo -c -o sqlbox_mssql.o sqlbox_mssql.c
mv -f .deps/sqlbox_mssql.Tpo .deps/sqlbox_mssql.Po
gcc -DHAVE_CONFIG_H -I. -I.. -I../gw -I../gw -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m64 -mtune=generic -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -I/usr/include/openssl -I/usr/include/kannel -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m64 -mtune=generic -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_LARGE_FILES= -I/usr/include/libxml2 -I/usr/include/openssl -I/usr/include/mysql -MT sqlbox_mysql.o -MD -MP -MF .deps/sqlbox_mysql.Tpo -c -o sqlbox_mysql.o sqlbox_mysql.c
sqlbox_mysql.c: In function ‘mysql_fetch_msg’:
sqlbox_mysql.c:143: error: ‘struct sms’ has no member named ‘meta_data’
sqlbox_mysql.c: In function ‘mysql_save_msg’:
sqlbox_mysql.c:201: error: ‘struct sms’ has no member named ‘meta_data’
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
sqlbox_mysql.c:201: warning: operation on ‘stuffcount’ may be undefined
make[3]: *** [sqlbox_mysql.o] Error 1
make[3]: Leaving directory `/root/rpmbuild/BUILD/sqlbox-cvs/gw’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/rpmbuild/BUILD/sqlbox-cvs’
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/rpmbuild/BUILD/sqlbox-cvs’
error: Bad exit status from /var/tmp/rpm-tmp.6137 (%build)

RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.6137 (%build)
make: *** [rpm] Error 1

Do you have any idea what can be cause this error? Any help will be welcome. Thanks in advance.

Rohith MDecember 13th, 2011 at 7:41 AM

Hi Alex, your work has allowed hours of coding for me 🙂 Really thanks .. It would be really helpful if you can include sql file with the releases so that users can make databases more quickly . Thanks

kenMarch 16th, 2012 at 6:40 AM

Alex,
I am new to kannel installation and compilation.I am using a manual written by one of the linux friend of Nigeria to install kannel. Am pasting the directions for the i nstallation of kannel up to the level where I am stack.
have installed have followed and things worked to 6.3. check this :
Prerequisites:
1. Linux Operating System
2. Modem, http or SMS Gateway access (usually smpp connection)
3. gcc, make, libmysql-dev, libsqlite3-dev, sqlite3.
Installation
Kannel
1. Download the latest stable release from http://www.kannel.org
2. untar the download (if a tar.gz extension), or unzip (if a zipfile);
You untar with the command tar -xzf gateway.tar.gz (as the tarball is usually called
gateway. It can also be called “kannel-source”.
3. To use sqlbox with kannel, it is strongly recommended that you use sqlite3 or
MySQL, with preference for sqlite3 (as MySQL may be a bit of an overload for this
purpose alone).
In either case, the software in item 3 under prerequisites is needed for successful
compilation. Pre-complied binaries are available but may not offer the fine
granularity that may be required for performance.
To install dependencies:
Debian/Ubuntu: apt-get -y install gcc make libmysql-dev sqlite3 libsqlite3 mysqlserver
Red Hat/CentOS/Oracle: yum -y install gcc make libmysql-dev sqlite3 libsqlite3
mysql-server
4. Next you need to go into the kannel source code directory by typing cd
/downloads/kannel-source or cd /downloads/gateway. This assumes you
downloaded the tarball to a directory called /downloads. If you downloaded to
another folder, please type mkdir /downloads, then mv /kannel-source /downloads
to move it there.
5. Compilation time. The commands are as follows:
1. ./configure –with-sqlite3 (replace –with-sqlite3 with –with-mysql if MySQL is
your preferred database storage engine).
2. make && make install && ldconfig.
The compiled app will be installed in /usr/local/sbin and /usr/local/kannel folders.
6. SQLBox:
1. Download the latest sqlbox source code (currently sqlbox-0.7.2) into /downloads
folder:
2. untar the tarball as for the kannel and run the following:
3. cd /downloads/sqlbox-0.7.2

I have the above but failed to proceed with the following :
4. ./configure –with-sqlite3 (or –with-mysql if MySQL is preferred)
5. make && make install

I am using ubuntu 11.10 server version, seem not to get anything each time i do the given commands.all am getting are errors.

DipoMarch 26th, 2012 at 7:13 PM

Hello Alex,
Thank you so much for your help in times past. i have a big problem istalling SQL box, I have the same problem as Romulo Gomez (configure: error: Kannel gwlib is required!) except the directory usr/lib/kannel or usr/include/kannel does not even exist!
I have no idea why. I installed kannel and it works fine using a tar file (1.4.3)
first installed sql from cvs then later from tar file. still the same error. Also non of the files gwlibgw.a or the othe .a files exist but sqlbox and bearerbox are working fine.
./bootstrapdid not give any errors
below is the output to ./bootstrap

configure: error: /bin/sh autotools/config.sub /usr/ failed
root@meg [/sqlbox/sqlbox-0.7.2]# ./bootstrap
+ set -e
+ amvers=no
+ automake-1.10 –version
+ automake-1.9 –version
+ amvers=-1.9
+ test -1.9 = no
+ libtoolize=no
+ glibtoolize –version
+ libtoolize –version
+ libtoolize=libtoolize
+ test libtoolize = no
+ set +x
+ test ‘!’ -d autotools
+ libtoolize –copy –force
You should add the contents of `/usr/share/aclocal/libtool.m4′ to `aclocal.m4′.
Putting files in AC_CONFIG_AUX_DIR, `autotools’.
+ test -f ltmain.sh
+ aclocal-1.9 -I autotools
+ autoconf
+ autoheader
+ automake-1.9 –add-missing –copy
configure.in: installing `autotools/install-sh’
configure.in: installing `autotools/missing’
gw/Makefile.am: installing `autotools/depcomp’

I am really lost here. Please do help
Thank you

alexMarch 29th, 2012 at 9:47 AM

You probably need to pass the switch –with-kannel-dir to hint configure where your kannel instalation is.
Besides, 1.4.3 is rather old, the latest SVN is considered stable, you should try building both Kannel and SqlBox from there.

alexMarch 29th, 2012 at 9:49 AM

You should use latest SVN head from Kannel, it’s considered stable.
Also use the SqlBox version that it’s inside the addons folder inside the source code and you won’t encounter any interoperability problems.

Will CApril 21st, 2012 at 9:46 PM

Hi… I am finishing my setup of sqlbox and I wonder if sqlbox is able to store MO messages? If yes, can you please guide me how to set it up?

Thanks,

WC

arunJune 8th, 2012 at 8:38 AM

hi alex
am using sqlbox but Dlr-url not hit properly after getting message

abhi srivastavaJuly 16th, 2012 at 11:56 AM

Hello Alex
plz help me. i am not getting the solution from a long time. I have installed kannel1.5.0 with builtin sqlbox. when i send messages with dlr mask 31 by inserting into the send_sms table messages are delivered properly and record move to sent_sms table but dlr report with dlr mask 1 sometimes not getting while dlr report with dlr mask 8 getting.many times i get both delivery reports with dlr_mask 8 and dlr_mask 1.

why this is happening some time i get dlrs with dlr_mask 8 and 1 both while some time final delivery report with dlr_mask 1 not getting. It is not happening with a specific number, it can be with any number.
i write to smsc customer care for this error but they send me their log file and show that i have delivered both DLRs. Plz help me.
now what i should do.

regards

AdanAugust 16th, 2012 at 10:10 AM

Hi Alex, I got passed the ./configure and I got this

/configure it ends with:

Generating output files …
configure: creating ./config.status
configure.status: creating Makefile
configure.status: creating gw/Makefile
configure.status: creating rpm/sqlbox.spec
configure.status: creating sb.-config.h
configure.status: sb-config.h is unchanged
configure.status: executing depfiles commands
configure.status: excuting libtool commands

License information …

License:
This software is subject to the Kannel Software license ……etc.
Thank you for using Kannel.

but the when I run from the same directory /trunk/addons/sqlbox$ make

itsays:

make all-recursive
make[1]: se ingresa al directorio /home/adan/trunk/addons/sqlbox
Making all in gw
make[2]: se ingresa al directorio /home/adan/trunk/addons/
sqlbox/gw
make[2]: No se hace nada para ?all?
make[2]: se sale del directorio /home/adan/trunk/addons/sqlbox/gw
make[2]: se ingresa al directorio /home/adan/trunk/addons/sqlbox
make[2]: se sale del directorio /home/adan/trunk/addons/sqlbox
make[1]: se sale del directorio /home/adan/trunk/addons/sqlbox

Could you help me please?

Thank you

Adan