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.
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.
The majority of HTML pages will simply not be displayed right 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.
Requirements:
· libxml 2.4.0
What's New in This Release: [ read full changelog ]
· Interix 3 has no strtoll(), but strtoq() provides the equivalent functionality.
· Interix 3 has no sys/poll.h, so ignore the inclusion for this platform.
· Use gw_netaddr_to_octstr() instead of inet_ntop(), due to the fact that the later is not provided in Interix 3.
· There is no initgroups() in Interix 3, so avoid the call for this specific platform.