Business
Kannel presentation to GeekDinner
Oct 3rd
Apologies for the delay as I promised to have this up the day after GeekDinner
Thanks to all those involved with organizing these events, they are really enjoyed by all. Thanks to the sponsors Delheim for providing the wine for the event.
Anyway, without further ado here is the presentation I gave on Kannel at GeekDinner on Monday the 28th of September 2009.
I hope it provides some insight into the gateway
Technorati Tags: Kannel, GeekDinner
Kannel for Windows – Some Cygwin Binaries
Apr 8th
A customer of mine recently asked me for a windows version of Kannel. Prior to this I had no experience with Cygwin/Windows development at all. It was actually extremely simple to build Kannel using Cygwin (thanks to the Kannel developers for being, well, pretty cool
).
Obviously it’s not the easiest thing in the world for non-developers so I thought I would make it easy for everyone to just simply download some binaries of Kannel and get going.
So with that said, I have built two installers for Kannel to run on windows. I have built against the stable release 1.4.3 and then I have done a CVS snapshot build against CVS dated 2009-04-07.
If you are interested in these, please navigate to my kannel for windows page which I will keep up to date as more stable releases get done.
Just a bit of background of how to build your own versions on Cygwin below:
- Download latest version of Cygwin
- Install, making sure you select the development packages (gcc, automake, libxml2-devel, openssl-devel, etc)
- Download and extract the source of Kannel from www.kannel.org
- Change directory to the extracted source
- Run ./configure
- Run make
- Then if you wish, run make install to install (need privileges unless alternative –prefix was specified)
Easy !
Just as a final note, Kannel on windows should NOT be treated as a production ready piece of software, so this should be used strictly for convenience, testing, development, etc.
As always, if you have any questions, leave a comment or mail me via blog@ddj.co.za
Technorati Tags: Kannel, Windows, Cygwin

Extracting meta-data from SMPP TLV’s with Kannel
Mar 15th
I have been relatively quiet the past few weeks with various operations going on, but seeing as I have a few minutes to spare I thought I would do a quick post explaining how to extract SMPP TLV’s using the new Kannel meta data features which are in the current CVS branch.
These are scheduled for the 1.5.0 stable release of Kannel, so for now you’ll need to do a CVS checkout of the main branch (as described in my previous posts).
I will be demonstrating how to set a test TLV and then extracting this data when a reply is received. Once you have setup your ’smpp-tlv’ group, you simply need to specify an additional parameter in your smsbox request. This parameter is named ‘meta-data’. The format for this variable is ‘?<bind_type>?<dataset>’ currently the only supported bind type is ’smpp’ but it was done this way to allow future support.
The dataset argument, is a URL encoded key/value pair string. So for these tests I have configured a smpp-tlv group called ‘my-custom-var’. In order to set this, I need to build a string like this for meta-data purposes.
?smpp?my-custom-var=This+is+a+cool+var
As you can see my-custom-var is set as a URL encoded variable, this will still need to be URL-encoded for submission in the meta-data parameter sent to smsbox.
So just to demonstrate, using PHP how you would build this string, you would use.
$bind_type = "smpp";
$my_custom_var = "This is a cool var";
$meta_data = "?".$bind_type."?my-custom-var=".urlencode($my_custom_var);
/* Now we need to urlencode this string */
$meta_data = urlencode($meta_data);
/* So URL would look like */
/* cgi-bin/sendsms?to=...&from=...&meta-data=$meta_data */
So now, when you set this to smsbox, it will be sent via the smpp bind as a TLV. Easy!
Now on the converse, if your smpp bind returns a TLV in a deliver_sm or other PDU, this will also passed to your URL (if you have configured it. Here below is a basic function for parsing the meta data out of this string.
/* This function will take the meta-data string and return an associative array */
function parse_metadata($var) {
$pos = strpos($var, "?", 1) + 1;
/* Simply stripping out bind type 'smpp', this can be modified if you need it
*/
$var = substr($var, $pos);
$data = parse_str($var, $out);
return $out;
}
/* Example: */
$meta_data = parse_metadata($_GET['meta-data']);
echo "My custom var = ".$meta_data['my-custom-var'];
I hope this helps you with your SMPP TLV requirements. Good luck, don’t forget to email me if you need any assistance with Kannel/SMS, etc and I will do my best to help you as best I can.
Technorati Tags: Kannel, SMPP, TLV, Kannel Support
Kannel Web Configuration Tool
Dec 18th
Following on with my previous themes of making Kannel easier to use for everyone, I have spent some time creating a tool which I think makes it easier to configure Kannel. It is a web based configuration tool which edits Kannel configuration files directly (doesn’t rely on any third party databases etc). I wrote it in PHP to keep it simple.
Current features
- Edit existing configuration files
- Add new configuration groups (smsc’s, smsbox-route, sendsms-user, etc)
- Based on the cfg.def from Kannel CVS 1.4.2 as of 2008/12/18
Features in progress
- Live updates to Kannel without restart for SMPP/EMI and smsbox-route’s (patch of Kannel CVS required)
Coming soon
- User authentication
- Kannel analytics and monitoring
- Audit trails of changes
- Other live updates
I am looking for feedback on the tool and when I believe it is stable enough and usable enough I will release it. You can see the beta of this tool here: http://www.ddj.co.za/kannel-config/web/
Enjoy! Please comment on the blog or email me at kwc@ddj.co.za with feedback.
Technorati Tags: Kannel, Web, Configuration, SMPP
The irony of the gym parking lot.
Apr 8th
I am writing this post because I am completely confused.
People go to gym to exercise right? Do weights, run on the treadmill, take classes, etc?
If they are there to exercise, why on earth do people have to park so close to the front door? Surely a few extra steps wouldn’t hurt, maybe it would be good for people to warm up a little.
I go to gym at the Virgin Active at Tygervalley and on a daily basis my mind is blown by people, who park on curbs, in bushes and all over the place, to avoid taking ten extra steps for a parking slightly further from the entrance. I’m not talking about there being no other parking available, just pure lazyness (or crazyness?).
Am I the only person who sees the irony?
Are we training enough Open Source competent people in SA?
Jul 25th
Working on the “dark side” of development, ie, the Open Source side has many distinct advantages, but it is becoming more and more apparent that there is a major skills shortage in South Africa. In all the businesses I have worked with, one of the recurring problems is finding good open source versed developers and unix skilled system administrators.
The problem as I see it is many of the Universities, Technikons and private learning institutions are still focused on teaching ASP, Visual Basic, Windows Servers, and so on, and the market is becoming more and more saturated with these skills. Where as on the other side of the spectrum there are gaping holes for competent staff.
With that said, if you are one of the few highly skilled PHP/MySQL (don’t be modest now!) developers, please get in touch with me, with your CV and/or some code you have written, so I can point you to some companies who desperately need your skills and are willing to pay for them! Specifically in Cape Town, South Africa!
Technorati Tags: PHP, MySQL, LAMP, Open Source, Developers
A Springbok supporter deep down.
Jul 20th
It doesn’t often happen when you get to take a snap of a die hard All Black supporter, wearing a Springbok jersey. Nevermind the circumstances or reasons, I just thought I’d share with the planet, John Ingram our conference facilitator, wearing, proudly I might add, the Springbok rugby jersey. If you happen to know John Ingram or any of his friends, please spread this around.

Sorry, John
Technorati Tags: Springboks, All Blacks, John Ingram
What is this crap?
Jul 10th
On my way to work this morning my ear drums were raped by what is probably the worst jingle I have heard since the 80s, for a website called RapidInfo.
Well it did its job by annoying me so much that I had to actually check it out, and well, the site look and feel matches the jingle. Where did this crap come from? Who actually paid good money for this and is willing to blow more on radio advertising? Please please PLEASE whoever you are call me to arrange an appointment so I can slap you.
Go check it out and have a laugh, www.rapidinfo.co.za and yes, I am not linking to it because I don’t want to help their SEO.
Oi vei.
Technorati Tags: Total Crap, Money Wasting
Are we giving Google etc, too much power?
Jul 8th
I have been sick the past few days and my mind has had the time to idle away, well, just thinking. Browsing around the internet many of you may see, as I do, the many sites that are using the ‘Google Analytics’ tool by none other than Google to track the statistics of their websites. This in itself is pretty harmless generally speaking, but using the analytics tools Google would have the ability to track your visitor’s from site to site, browsing patterns and what not. I’m not familiar with their privacy policies and I don’t think its in Google’s interests to sabotage their clients, but it is just scary knowing the power they have. Even more scary is the fact that its completely free, and at any given moment it could be switched off, leaving businesses without the necessary marketing tools they have been enjoying up to this point. 
Then I thought about GMail, but more specifically the ‘Google Apps’ offering, which I now host the mail for my own domain (ddj.co.za) as well as phpusers.co.za, also free services, with no guarantees from Google, just leaves me feeling slightly insecure. I would almost feel more comfortable paying, if I wasn’t such a cheap skate :]
The thing that really bothers me about this is, not really the reliance on the servers as much, but just the information that these companies have about me. Google has all my mail, highly personal information (banking statements etc) and Facebook knows everything about me, and all the people I know, and all the people they know. Am I being watched, maybe if I was someone more important :] 
All I know is, if I meet people that work for Google or Facebook I will surely be nice to them, or my mail, money and god knows what else will be at their mercy :]
Technorati Tags: Facebook, Google, Big Brother
My First 27 Dinner
Jun 29th
My colleagues Steffi and Uno invited me to my first 27 Dinner on the 27th of June and I was well impressed with the geek community that pitched up.
This is just a quick thank you note to all the sponsors of the event Stormhoek, Charly’s Bakery, Cerebra, Goldee and many others for a great evening.
Warning: Do not order the chicken, as you will not get as much food as you need.
See all you geeks at the next!
Technorati Tags: 27 Dinner, Charly’s Bakery, Cerebra, Goldee