Kannel: Open-Source WAP and SMS Gateway



Kannel

  * Front page
  * Overview
     Requirements
  * Status

  * News
     Old News
  * Documentation
     FAQ
     Glossary
     User guide
     Arch Document
     Related links
  * Compatibility
  * License
  * Download
     Addons
  * Source Code
  * Mailing Lists

Advertisement

  * Authors
  * Reporting Bugs

 

 

Making a donation:



 

Kannel: Overview

With hundreds of millions of mobile phones in use all over the
world at the moment, the market for services targeted at mobile users
is mindbogglingly immense. Even simple services find plenty of users,
as long as they’re useful or fun. Being able to get news, send e-mail
or just be entertained wherever you are is extremely attractive to
lots of people.

Kannel is an open source WAP gateway. It attempts to provide this
essential part of the WAP infrastructure freely to everyone so that
the market potential for WAP services, both from wireless operators
and specialized service providers, will be realized as efficiently
as possible.

Kannel also works as an SMS gateway for GSM networks. Almost all
GSM phones can send and receive SMS messages, so this is a way to
serve many more clients than just those using a new WAP phone.

Open Source is a way
to formalize the principle of openness by placing the source code
of a product under a Open Source compliant software license. The BSD-style license was chosen over other Open Source
licenses by the merit of placing the least amount of limitations on
what a third party is able to do with the source code. In practice this
means that Kannel is going to be a fully-featured WAP implementation
and compatible with a maximum amount of bearers with special emphasis
on SMSC compatibility.


Kannel is a WAP and SMS gateway.

SMS, short message services, are widely used all over the world in
huge amounts. The main use for Kannel is to link HTTP based services
to various SMS centers using obscure protocols.

WAP, short for Wireless Application Protocol, is a collection of
languages and tools and an infrastructure for implementing services
for mobile phones. Traditionally such services have worked via normal
phone calls or short textual messages (e.g., SMS messages in GSM
networks). Neither are very efficient to use, nor very user friendly.
WAP makes it possible to implement services similar to the World Wide Web.

Unlike marketers claim, WAP does not bring the existing content of the
Internet directly to the phone. There are too many technical and other
problems for this to ever work properly. The main problem is that Internet
content is mainly in the form of HTML pages, and they are written in such
a way as to require fast connections, fast processors, large memories, big
screens, audio output, and may require fairly efficient input mechanisms.
That’s OK, since they hopefully work better for traditional computers and
networks that way. However, portable phones have very slow processors,
very little memory, abysmal and intermittent bandwidth, little screens
and extremely awkward input mechanisms. Most existing HTML pages simply
will not work on them.

WAP defines a completely new markup language, the Wireless Markup
Language (WML), which is simpler and much more strictly defined than HTML.
It also defines a scripting language, WMLScript, which all browsers
are required to support. To make things even simpler for the phones,
it even defines its own bitmap format (Wireless Bitmap, or WBMP).

HTTP is also too inefficient for wireless use. By using a semantically
equivalent, but binary and compressed format it is possible to reduce the
protocol overhead to a few bytes per request, instead of up to hundreds
of bytes. Thus, WAP defines a new protocol stack to be used. However,
to make things simpler also for the people actually implementing
the services, WAP introduces a gateway between the phones and the
servers providing content to the phones.

WAP gateway is between phone and content server.

The WAP gateway talks to the phone using the WAP protocol stack,
and translates the requests it receives to normal HTTP. Thus, the
content providers can use any HTTP servers, and can utilize existing
know-how about HTTP service implementation and administration.

In addition to protocol translations, the gateway also compresses
the WML pages into a more compact form, to save bandwidth on the air and
to further reduce the phone’s processing requirements. It also compiles
WMLScript programs into a byte-code format.

Requirements

Kannel is mainly being developed on Linux systems,
and should be fairly easy to port to other Unix-like
systems. However, we don’t yet support other platforms, due to lack
of time. Kannel requires the following software environment:

  • C compiler and development libraries and related tools.
  • The gnome-xml (a.k.a. libxml) library, version 2.2.0 or newer.
    We recommend that you use libxml version 2.2.5.
    If you are installing it from your distribution’s packages, you’ll need
    libxml2-dev in addition to run-time libxml2 package
    libraries.

    Note: there is a bug in libxml version 2.2.3
    and 2.2.4 that causes problems with character encoding in attributes.
    This problem is fixed in 2.2.5.
    See http://xmlsoft.org/xml.html.

  • GNU Make.
  • POSIX threads (pthread.h).
  • GNU Bison 1.28 if you modify the WMLScript compiler.
  • DocBook markup language tools (jade, jadetex, DocBook style-sheets, etc;
    see README.docbook), if you want to format the documentation
    (pre-formatted versions are available).

Hardware requirements are fluffier. We haven’t benchmarked Kannel
yet, so there are no hard numbers, but a reasonably fast PC workstation
(400 MHz Pentium II, 128 MB RAM) should serve several concurrent
users without problems. The goal is to support hundreds of concurrent
users on that kind of hardware.

Thanks to for supporting us.


Copyright © 2001-2020 The Kannel Group. All rights reserved.

Read More

Add a comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Advertisement