![]()
* Front page |
Kannel: Frequently Asked QuestionsThis is the Frequently Asked Questions (FAQ) list for Kannel. It is intended to provide answers to the questions most often received by the Kannel gateway team (which can be reached at devel@kannel.org).This FAQ generally assumes that you are using the current gateway sources. If you are having problems and are not running the latest sources, then upgrading is often the answer to your problems. For questions regarding WAP and WML take also a look at: The Wireless FAQ ContentsSection 1. General
Section 2. Installation
Section 3. Support
Section 4. Technical
Section 5. Development
Section 1. GeneralKannel is an open source project to make a WAP gateway. Kannel also works as a SMS gateway. 1.2 Why should I use Kannel instead of a commercial WAP gateway? You can fix problems yourself, without having to wait for the vendor. You can easily make special customizations that are specific to your system, which may not even be possible to implement without the source code. The price is right :-) Do you really want to pay thousands of dollars of a WAP gateway? Better security than commercial gateways. If there is a security hazard it can be patched in a day or two, sometimes it could only take a few hours until the problem is fixed. Since the code is open source there are no hidden security hazards or other inconveniences. 1.3 Why is Kannel written in C and not in Java? The Kannel team does not have a strong expertise in Java, so re-implementing Kannel in Java would require us to spend weeks learning the language well. The re-implementation work itself would also take some months. There is no point in doing this. 1.4 Why the FreeBSD-style license instead of GPL? Kannel is under the FreeBSD-style license because we want to limit the use of Kannel as little as possible. Section 2. Installation2.1 Where can I find the latest source code? You can always get the newest source code on the download page Yes. You can compile it using Cygwin tools just like you do on your unix system. You can look at the current development version of the sources directly from our version control system. We use CVS, so you need to install that first. (See for example ftp://ftp.gnu.org/gnu/cvs/ for a source distribution, or your Linux distribution for ready-to-install binaries.) 1.Log in using the following command (just press Enter when it asks for a password):
2.Check out the current version of the Kannel gateway:
3.Later, when you want to check whether there have been changes, do the following:
2.4 How do I unpack and compile the gateway? These instructions work with Linux systems, but should be generic enough for other Unix-like systems: gunzip < gateway-VERSION.tar.gz | tar xvf -cd gateway-VERSION ./configure make (Replace `VERSION' with the version number of the gateway you downloaded.) For more information on installing DocBook see the README.docbook file in the Kannel distribution. 2.6 What libxml version should I use? Please use libxml version 2.2.5 or newer. There is a bug in libxml 1.8.6 that
makes the last character in the wml content to disappear. This means that the last
tag (usually </wml>) will not be closed properly ( </wml ) and cause an error the
in the wml compiler. In version 2.2.3 and 2.2.4, there's a bug that causes problems with
character encoding in attributes. We recommend you use libxml2, version 2.2.5 or newer,
with the current stable and development version of Kannel. The current CVS version of Kannel
requires libxml2 (version 2.2.0 or newer). 2.7 How do I install libxml on Sun Solaris? First up, pre-requisites: the commands from then on are: (Replace `VERSION' with the version number of the libxml you downloaded.) 2.8 Why does make report that libgw.a etc. are missing under Sun Solaris? On each occasion that this has come up on the devel mailing list, the problem is that Sun's make has been used rather than GNU make. I would recommend that you get the latest version from ftp.gnu.org or your local mirror. If you want to check which make you are using, try the command "which make". if the response is "/usr/xpg4/bin/make" or "/usr/ccs/bin/make" then you are using Sun's make. If the response is "/usr/local/bin/make" or "/opt/sfw/bin/make" then you are probably using GNU make. GNU make responds correctly to "make --version", Sun's make reports that it is ignoring DistributedMake options. Section 3. Support3.1 What features does Kannel support A list of what features Kannel supports can be found at http://www.kannel.org/status.shtml 3.2 Do you have a Windows version of the gateway? There are people who are working to make Kannel run in Win32. Please check download page and join the development e-mail list to discuss this matter further. 3.3 Any plans for a FreeBSD port? We've had patches for FreeBSD, but since we don't use FreeBSD ourselves, we're likely to cause new problems all the time. What we need is (since our admins haven't time for yet another architecture in house) someone who keeps the gateway portable to FreeBSD, by sending us patches (or direct CVS commits) and calls us names whenever we repeat our mistakes. 3.4 What SMSC protocols does the SMS part of the gateway support? CIMD 1.3, CIMD 2.0, SMPP 3.4, UCP/EMI 4.0, SEMA SMS2000 OIS protocol for SMS centers over Radiopad and X.25 and several modems and mobile phones through AT protocol Section 4. Technical4.1 How would I send multiple messages randomly from the fakesmsc? You can send multiple messages with e.g. the following command: ./fakesmsc 10000 2 50 '123 456 nop' '115 566 nop' '334 887 nop' The messages will be sent in random order.
With latest version of fakesmsc, the syntax is: ./fakesmsc -p 10000 -i 2 -m 50 '123 456 nop' '115 566 nop' '334 887 nop' Yes, the smsgateway listens to a specific port for each smsc. To run multiple fakesmsc's just start i.e. four terminals and run fakesmsc's in each of them. Then run the bearerbox and smsbox in different terminals. More info how to configure the bearerbox and smsbox can be found from the userguide under the 'SMS Centers' section. 1. Unpack the distribution .tar.gz.
terminal 1: ./fakesmsc 10000 0.01 1000 '123 456 nop'
This latest version of fakesmsc, you must use format described above. 4.3 What is a CSDR (CSD Router) and where can I get one? CSD=Circuit Switched Data, is a protocol that the mobile phone uses when you make a data call. The CSD router is the hardware that answers to the incoming data calls and then transmits the UDP packets sent by the WAP phone forward to the gateway. In other words the CSD router can be a normal analog modem, ISDN terminal or an array of these (like a modem pool).The UPD packets are picked up by a UDP thread of the bearerbox in the gateway. 4.4 When I run configure it reports that it doesn't find the fig2dev program? The fig2dev program is included in a RPM package called transfig. You can find it from: http://www.rpmfind.net/linux/RPM/ If you don't want to build the documentation then run configure with the "--disable-docs" option. 4.5 Why does configure search for the gnome_xml parser? The WML compiler in Kannel uses the gnome_xml parser to validate the wml content. You have to install both the normal and the development libxml package. You can download the libxml packages from: ftp://rpmfind.net/pub/libxml/ or install it with apt-get install libxml2-dev libxml2 in Debian. See Kannel requirements page for information on what libxml version to use. 4.6 How do I configure the Nokia WAP SDK v2.x so I can use Kannel with it? Because Kannel doesn't support connectionless mode yet you have to use the connection-oriented mode. You can configure the Nokia WAP SDK (v2.x) to use connection-oriented mode, but you can't do it from the SDK's menus. You have configure it in the emulator phone. Like this: Press: Menu->NaviRoller->Settings->Select Default->NaviRoller->Edit
Homepage: (Any wml page) The settings will be saved so you don't have to do this configuration every time you start the SDK. Even when you have configured the Nokia SDK to use connection oriented mode the emulator says: Server started, listening on port 9200. But this is not true (a little bug in the emulator). It will listen to the port 9201. 4.7 How do I configure the Nokia WAP Toolkit 1.2 or 1.3b so I can use Kannel with it? From the Toolkit's menus choose:
4.8 What standard WAP protocol ports will Kannel listen to? Kannel supports connection oriented mode and connectionless mode which means it will only listen to the ports 9200 and 9201. When new features from the protocol are added that uses other ports Kannel will of course use the standard ports for this. The standard ports that the gateway will listen to are: WAP WTA secure connection-less session service 2805 WAP connectionless session service 9200 WAP session service 9201 WAP secure connectionless session service 9202 WAP secure session service 9203 WAP vCard 9204 WAP vCal 9205 WAP vCard Secure 9206 WAP vCal Secure 9207 4.9 I want to use Kannel for sending and recieving SMS messages via my mobile phone. To be able to do this you have to use a GSM phone as an virtual SMSC. See the compatibility page for a list of what phones are supported as virtual SMSC's. 4.10 What are EMI, CIMD, SMPP and SEMA? EMI, CIMD, SMPP and SEMA etc. are protocols used by the SMS Centers. These protocols define how SMS messages are sent and retrieved from the SMS centers. This means that Kannel, which also works as an SMS gateway, must support these protocols. Also when using WAP over SMS these protocols are used. 4.11 Why won't my WML pages compile? There can be several reasons, which can be distinguished by looking at the wapbox log-file. Another common failure, for some WML pages, is seen when the wapbox log-file read something like "WML compiler: Parsing failed, no parsed document." Here, the libxml parser failed to understand the WML page, for some reason. Either the page is really malformed, or libxml has a problem. use 'xml-config --version' or 'rpm -q libxml', 'rpm -q libxml2', 'rpm -q libxml-devel' or 'rpm -q libxml2-devel' to find out whether libxml is installed on your system at all, and to see which version it is at. 4.12 What is the TEST_WML variable about? You are using an old Kannel version, you don't have to set a TEST_WML variable anymore. Please upgrade to the latest Kannel version. 4.13 My log file time is off by 2h? Kannel log files are in UTC, not local time, to reduce problems when, say, daylight savings time changes (twice per year) and when running large installations with some machines or boxes in different time zones. 4.14 Should Kannel be run as root? Kannel can run as any user. It mostly cares only about the permissions of its log files. 4.15 What is the http-port (http-admin-port) configuration option about? The http-port (now renamed as http-admin-port) is, as documentation/userguide tells, the port where Kannel listens for http-administration commands. So it is not linked to your Apache/whatever httpd, it simply uses the same protocol (HTTP). And as Kannel is not run as a 'root' program, this port number must be over 1024. Default is 13000, after which, for example, the status of Kannel can be checked this way: lynx -dump "http://localhost:13000/cgi-bin/status" 4.16 Make fails after CVS up -d? There might be several reasons for this but here's one possibility: Those markings mean that you have ran into CVS conflict. It happens when same line has been changed in both versions, in the one on your computer and the one in CVS repository. In this case, the conflicting line is the one beginning with CFLAGS. The CVS adds the markings that tell about conflict and both versions of the modified lines. Because it's impossible automatically tell which one of those two CFLAGS lines is the correct one, you now have to edit them by hand. Combine changes is both versions, remove conflict marking lines and try again. Another reason might be if you e.g. get the following message... make *** No rule to make target 'gw/csdr.h' needed by 'gw/bearerbox.o'
...then run "make depend". 4.17 What type of WAP content does Kannel accept? Here are the most common WAP content types:
If the wml content is already in binary format (wmlc or wmlsc) then the content will be sent directly to the WAP device. In this case there is no need for Kannel to make any conversion from text to binary content. 4.18 Why won't my WAP phone connect to my ISDN terminal? The WAP phones (at least Nokia 7110) uses the V.110 protocol to communicate. Check that your ISDN terminal supports this protocol. 4.19 Why do I get the following message "ERROR: You need to rename `csdr' to `wdp-udp'. Sorry."? If you get this message you are running an old version of Kannel, please update to a newer version Kannel. 4.20 WARNING: WSP: Unsupported content type 'text/html' When you access a "web page" using a PC based browser, the "web server" tells your PC browser what kind of document it should expect. This is done by using something called MIME-types. The common MIME type for a plain HTML document is "text/html". However, for a WAP micro browser, which cannot read HTML, the MIME type has to be different. The MIME types for serving WML contents are:
To add the above MIME types to the Apache HTTP server, here's what you do:
# MIME Types for WAP AddType text/vnd.wap.wml .wml AddType image/vnd.wap.wbmp .wbmp AddType application/vnd.wap.wmlc .wmlc AddType text/vnd.wap.wmlscript .wmls AddType application/vnd.wap.wmlscriptc .wmlsc
If you do not have control over your Apache server, for instance if you are with an ISP, it is also possible
to add a file called
A typical DirectoryIndex index.wml addtype text/vnd.wap.wml wml addtype application/vnd.wap.wmlc wmlc addtype text/vnd.wap.wmlscript wmls addtype application/vnd.wap.wmlscriptc wmlsc addtype image/vnd.wap.wbmp wbmp
Note the first line which tells the server that the index file for this directory is called To add the MIME types to a Microsoft IIS server, you need to do the following:
For other servers, see the server documentation. Section 5. Development5.1 How can I participate in the project? Maybe the best way to participate is to develop the part of the gateway which is important for you and your business purposes. If you need the gateway (SMS or WAP) to support some specific feature or protocol or something, then you develop this part. And then when you have made some smaller or bigger improvements you send the updates to us. We will then include these patches to the gateway's distribution packet. If you are interested in some other sort of cooperation please contact feedback@kannel.org 5.2 How to send modifications of Kannel? If you want to send us modifications, please send the output of cvs diff -u (-u makes cvs use unified diffs, instead of plain diffs; unified diffs are easier to read, since they provide more context and can be applied to a later version of the same file). Please send the diffs to feedback@kannel.org 5.3 Where should I send bug reports? Please, send bug reports to bugs@kannel.org or feedback@kannel.org (for things that need to be private). Please DO NOT send bug reports or questions directly to someone because then, 1. you prevent anyone else from helping you, 2. you make sure you'll get help slowly (since the person you send the report to might have lots of things to do and might be on a vacation, for example), 3. you make Kannel development go more slowly (since this person have to spend time to go through your bug report and investigate it to see who's responsibility the bug is), 4. and worst of all, you prevent anyone else from benefiting
from the reply.
Copyright © 2001-2020 The Kannel Group. All rights reserved. |