Open Source WAP and SMS Gateway


* front page
* Overview
Requirements
* Status
* NEwS
Old News
* Documentation
FAQ
Glossary
User guide
Arch Document
Related links
* compatibility
* License
* Downloads
Addons
* Source Code
* Mailing Lists
Make a donation:
With hundreds of millions of mobile phones in use worldwide at the moment, the market for services aimed at mobile users is huge. Even simple services find many users, as long as they are useful or fun. Getting news, sending e-mails or having fun wherever you are can attract a lot of people.
Kannel is an open source WAP gateway. It tries to provide this essential part of the WAP infrastructure freely to all so that the market potential for WAP services, from wireless operators and special service providers, can be realized as efficiently as possible.
Kannel also works as a SMS gateway for GSM networks. Almost all GSM phones can send and receive SMS messages, so this is a way to serve 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 an Open Source compliant software license. the BSD-style license chosen over other Open Source licenses by virtue of placing the least amount of limitations on what third parties can do with the source code. In practice this means that Kannel will be a fully featured WAP implementation and compatible with the highest number of carriers with special emphasis on SMSC compatibility.
Kannel is a WAP and SMS gateway.
SMS, short message services, are widely used around the world in large amounts. The main use for Kannel is to link HTTP-based services to different SMS centers using obfuscated 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 work through normal phone calls or short textual messages (for example, SMS messages in GSM networks). Neither very efficient to use, nor very user friendly. WAP makes it possible to implement services similar to the World Wide Web.
Contrary to what marketers claim, WAP does not bring current Internet content directly to the phone. There are too many technical and other problems to make it work properly. The main problem is that Internet content is usually in the form of HTML pages, and it is written in a way that requires fast connections, fast processors, large memories, large screens, audio output, and can ‘g requires an efficient input mechanism. That’s OK, because they’re expected to work better for traditional computers and networks that way. However, portable phones have very slow processors, very little memory, abysmal and intermittent bandwidth, small screens and very poor input mechanisms. Most existing HTML pages simply do not work with them.
WAP defines an entirely new markup language, the Wireless Markup Language (WML), which is simpler and more tightly defined than HTML. It also defines a scripting language, WMLScript, that all browsers must support. To make things simpler for phones, it even defines its own bitmap format (Wireless Bitmap, or WBMP).
HTTP is also inefficient for wireless use. By using a semantically equivalent, but binary and compressed format it is possible to reduce the overhead of the protocol to a few bytes per request, instead of up to hundreds of bytes. Therefore, WAP defined a new protocol stack to be used. However, to make things simpler also for the people who actually implement the services, WAP introduces a gateway between the phones and the servers that provide content to the phones.
The WAP gateway communicates with the phone using the WAP protocol stack, and translates the requests it receives into normal HTTP. Thus, content providers can use any HTTP servers, and use existing knowledge about HTTP service implementation and management.
In addition to protocol translations, the gateway also compresses WML pages into a more compact form, to save over-the-air bandwidth and to further reduce the phone’s processing requirements. It also compiles WMLScript programs into byte-code format.
Kannel is mostly developed on Linux systems, and should be easy to port to other Unix-like systems. However, we have not yet supported other platforms, due to lack of time. Kannel requires the following software environment:
- C compiler and development libraries and related tools.
- The gnome-xml (aka libxml) library, version 2.2.0 or later. We recommend that you use libxml version 2.2.5. If you installed it from your distribution packages, you should
libxml2-dev in addition to run-time libxml2 package libraries.
Note: there is a bug in libxml versions 2.2.3 and 2.2.4 that causes character encoding problems 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 (there are pre-formatted versions).
The hardware requirements are fluffier. We haven’t benchmarked Kannel yet, so no hard numbers, but a reasonably fast PC workstation (400 MHz Pentium II, 128 MB RAM) should serve many concurrent users. without problems. The goal is to support hundreds of simultaneous users on that type of hardware.
Copyright © 2001-2020 The Kannel Group. All rights reserved.
2024-12-21 10:15:11