Andreas Fink
Open Source WAP and SMS gateway
Lars Wirzenius
Kalle Marjola
 Aarno Syvänen
Bruno Rodrigues
Stipe Tolj
 Kannel 1.3.1 User’s Guide Open Source WAP and SMS gateway
 Table of Contents
 Extended headers Kannel Post XML Post
 Fake messages Fakesmsc command line options
 Vii
List of Tables
 Overview of WAP
Introduction
 Overview of WAP Push
 Overview of SMS
 This section needs to be written
Features
Requirements
Introduction
Page
 Finding the documentation
Installing the gateway
Getting the source code
 Compiling the gateway
 Installing Kannel from RPM packages
Installing the gateway
Using pre-compiled binary packages
 Removing Kannel Log in as root Remove the RPM package
 Installing the gateway
Installing Kannel from DEB packages
 If you don’t want Kannel to run as a daemon, run
Installing the gateway Install or upgrade the DEB package
Remove the package completely
Page
 Configuration file syntax
Using the gateway
Configuring the gateway
 Inclusion of configuration files
 Variable Value Description
Core configuration
 IP-listseveral addresses, separated with
With admin-port, this can be
Lower network layer. Defaults
Bool Layer. Defaults to no
 filename
VariableValue
IP or ’*’
 Receiving SMS messages from
String to unify received phone
Numbers, for Smsc routing
Handle them properly. This is
 Only, i.e. for the administration
Using this variable, no SMS
filename Down violently Enable the use of an Http
SMS service requests to
 Working as a Https client. If
Type Default this is set to ’internal’
When Kannel message queues
Kannel is willing to trust when
 After the bearer box, you can start the WAP box
Command line options
Running Kannel
Starting the gateway
 Kannel statuses
Using the gateway Set debug-places for ’debug’ level output
 Http administration
 No other chance to resume normal operation
Bring down the gateway, by setting state to
Space. Password required
Shutdown a single Smsc link. Password
 Wapbox configuration
Setting up a WAP gateway
WAP gateway configuration
 Left side URL to the given
Default gives you 10 mappings
Map-url setting. Thus,
Adds a single mapping for
 Checking whether the WAP gateway is alive
Running WAP gateway
 SMS centers
Setting up a SMS Gateway
Required components
SMS gateway configuration
 An optional name or id for
Problems, so avoid it and any
Specify the used SMS-service
See below for a complete list
 Semicolon ’’. For example
Which are accepted to be sent
Through this SMSC. Multiple
Entries are separated with
 Nokia Cimd 1.37
 Machine that runs the Smsc
Setting up a SMS Gateway
Value. Set it to 0 to disable this
Feature
 This prefix from the sender
All messages sent from
Kannel. If Kannel is asked to
Send a message, it will remove
 Or hostname
Connecting over a modem to an
Defaults to send. All outgoing
Service
 If set, only connections from
Keepalive command will be
Feature. Requires username or
More than this time. Defaults to
 Error ocur
Disconnect/reconnect, default
When this parameter is unset or
Defaults to the maximum
 Smpp
 Attempt to use a
Transceiver mode
Use value 0 to disable this I/O
Password matching
 Change the interface version
Default if not set is
Not defined the default device
That no more than 10 default
 VariableValue
 Sema Group SMS2000 OIS 4.0
 SM/ASI for CriticalPath InVoke SMS Center
 GSM modem
 Modem Type Modems
 Too
Default value 0 means to try to
Nokia 6210, 7110, 8210 tested
Probably other Nokia phones
 Optional phone number
Using the ’message-storage’
To work with this setting are
For this many seconds. If
 Command, enable this
String to use when trying to
Optional. Defaults to false
Before first command
 Fake Smsc
 HTTP-based relay and content gateways
 Sema Ois At2 Http
Using multiple SMS centers
Feature checklist
Featurecimd
 Can send octet data without UDH
Smsc driver internal features
Can set Validity Can set Deferred Can set PID Can set RPI
Can send 8 bits Correctly send GSM alphabet
 Smsbox configuration
Symbol Meaning
 Bearerbox for the purpose
Smsbox Group Variables
Optional smsbox instance
An smsbox connected to an
 Sendsms-charsstring Global-sender
 Non-zero value
Typical ’smsbox’ group could be something like this
 Apply
Smsbox routing inside bearerbox
Defines for which smsbox
Instance the routing rules do
 SMS-service configurations
 Word in the SMS message
Services are identified by
Word Message contains If the service has aliases, they
URL corresponds to one
 Service. b Multiple entries are
You use this sms-service type
Use these kind of services is
Checked using white/black-list
 Certain shortcut numbers to be
Service. This may be used to
Allowed to this service
Allow only inbound SMS to
 Normally
Content-Type for reply, it is
Used for url type services,
If client does not set
 file
Black-list service is defined
See notes of phone number
Format from numhash.h header
 How sms-service interprets the Http response
 SMSPush equivalent Kannel Header
Extended headers
 Hex format
Kannel Post
XML Post
Parameter escape code Kannel Header Equivalent
 Setting up a SMS Gateway
 SendSMS-user configurations
 Some sample ’sendsms-user’ groups
 LibSDB DLR storage
External delivery report DLR storage
Internal DLR storage
MySQL DLR storage
 DLR database field configuration
 Sample ’dlr-db’ group
Variable
Table field that is used for the timestamp data
 Over-The-Air configurations
MySQL connection configuration
 Defaults to data
Ota-setting. Any string is
For your WAP services, i.e
Description of the service
 Ota-bookmark. Any string is
Setting up more complex services
A ’sendsms-user’ to use with it. With concatenation enabled
14. OTA Bookmark Group Variables
 Redirected replies
Setting up operator specific services
Setting up multi-operator Kannel
 Running SMS gateway
Using the Http interface to send SMS messages
’Authorization failed’ reply
 Phone number of the sender
Content can be more than
Bits or to UCS2. Defaults to
Returned
 Indicator, or 5,6,7,8 for
Default-smscvariable can
Indicator bits in DCS field. If
Indicator. The accepted values
 Inform SMS Center that it should
Configuration, or 0X per default
Indicator RPI value. See Etsi
Optional. If given, kannel will
 GET method for the OTA Http interface
Using the Http interface to send OTA configuration messages
 Bookmark document looks like this
 Configuration, or ’Authorization
Name or ID of the ’ota-setting’
Not given the first ’ota-setting’
When a XML document is
 Running SMS&WAP gateway
Setting up a SMS&WAP gateway
SMS&WAP gateway configuration
 Mandatory value. Tells that we
Setting up Push Proxy Gateway
Configuring ppg core group, for push initiator PI interface
PPG core group configuration variables
 Configuring PPG user group variables
 String Username for this user
String Password for this user
Wap-push-user
String An user
 Finishing ppg configuration
 Running a push proxy gateway
An example using Http Smsc
Setting up Push Proxy Gateway
You can, of course, use more complex command line options
 Default network and bearer used by push proxy gateway
 Using SSL client support
Using SSL for Http
 Using SSL for Http
Using SSL server support for the sendsms Http interface
Using SSL server support for PPG Https interface
 Delivery Reports
 Getting help and reporting bugs
 Appendix A. Using the fake WAP sender
 Running Kannel with fakesmsc connections
Appendix B. Using the fake SMS center
Setting up fakesmsc
 Fake messages
Fakesmsc command line options
Switch Value Description
 Send a maximum of max
 Creating push content and control document for testing
 Starting necessary programs
 Default any. Application
Table C-1. Testppg’s command line options
Use content qualifier string
Instead of default si service
 101
Using Nokia Toolkit as a part of a developing environment
Testing PAP protocol over Https
 Directive Value Description
 String User’s password 103
filename Document Mandatory value. PPG service
String User’s username Mandatory value. PPG service
 104
Appendix D. Setting up a dial-up line
Analog modem
Add the following lines to /etc/ppp/options.server
 This section needs to be written 105
Isdn terminal
Configure your phone this example is for Nokia
 Log rotation
Bearerbox Access Log
Appendix E. Log files
 107
Appendix E. Log files
 Coding
Glossary
MClass
 RFC 2616 Hypertext Transfer Protocol -- HTTP/1.1 Society 109
Bibliography