This is My Blog


Kannel for Windows – Some Cygwin Binaries

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:

  1. Download latest version of Cygwin
  2. Install, making sure you select the development packages (gcc, automake, libxml2-devel, openssl-devel, etc)
  3. Download and extract the source of Kannel from
  4. Change directory to the extracted source
  5. Run ./configure
  6. Run make
  7. 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

Technorati Tags: , ,


  1. Alexandre


    Nice! This is exactly what I was looking for... Thanks for sharing!

    BTW, Do you have any example about integrating it to a DB (like MySQL).

    Best regards from Brazil!

  2. Ahmad


    I am trying to configure Kannel on Windows Vista. I am using Nokia E51 as GSM modem connected via USB cable. This device shows up in Windows Vista Device Manager as connected on COM18. How should I specify settings in the kannel.config? I tried "device = COM18" or "device = /dev/COM18" but they don't work. Can you share some working config file for Windows?

  3. Donald Jackson


    @Alexandre - I suggest contacting the users list ( for any queries like this, it is quite a common task.

    @Ahmad - Are you running from within the Cygwin window?

  4. Minh


    Please tell me your Kannel Windows version (CVS Build) has meta-data (TLV)? Or I need rebuild with last source? Thanks!

  5. Donald Jackson


    This build has support for TLV's. I shall do another build soon and post it on this site.

  6. Minh


    Thank Donald Jackson :)

  7. Lasantha


    I got the very same question reported by Ahmed, how to specify the setting in kannel.conf (device=?) ? Windows device manager shows the device as "BandLuxe 3.5G HSDPA Modem" (I'm using a 3G modem, not a mobile phone modem) and I'm running just on windows. Not from Cygwin. Thanks.

  8. lazoras


    i followed the steps and when i type
    run ./configure in the cyg console it tries to run the configure file but a windows error pops up saying it is unable to run the program..... maybe i am missing some packages because i noticed there was an etc... at the end of the package list provided?

    any help would be great!

  9. Donald Jackson


    @Lasantha - Unfortunately I haven't used a GSM modem with Kannel on windows as yet so I can't really help here, I use it mostly for SMPP connectivity.

    @lazoras - Sounds very strange, do you have the correct files for your architecture (i386/amd64?) also make sure you have installed the cygwin build essentials.

  10. Minh


    Hi Donald Jackson,
    Kannel 1.5.0 is out. Please build 1.5.0 version on windows.
    Thank you.

  11. Raja Ehtesham Riazat


    @Lasantha,Ahmad : cygwin might only recognize com ports upto 16 so you can go to device manager select the modem device you want to configure right click->properties->port settings->advance->Com port number and set it to some free port less than 16.
    now you device in smsc at will be device= device = /dev/comx. where x is the number you selected for com port above.

Would you like to share your thoughts?

Would you like to share your thoughts?

Leave a Reply