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