Escolar Documentos
Profissional Documentos
Cultura Documentos
(WAP)
This paper aims at expounding what this new technology is, what it holds for us in the
future and also what minimum functionality it must provide in order to be embraced by
the industry as well as the general public. The document will provide an in-depth look at
how this technology is structured and implemented. Upon reviewing this paper the reader
should develop an informed opinion on WAP, its implementation and future.
ii
Wireless Application Protocol EE-419 (Communication System Project Report)
Acknowledgments
The ideas and understanding in this paper have come from many sources. Firstly thanks to everyone on the
internet and especially www.wapforum.com, who have been tremendously helpful in improving the quality
of this text.
A huge thanks to our instructor, Dr. Kamal Athar who gave us invaluable guidance and direction in the
field of Digital Communication.
The supporting cast of friends includes, but is not limited to, Iqbal, Qasim, Bilal, Pasha and of course, Mom
and Dad.
3
Wireless Application Protocol EE-419 (Communication System Project Report)
Table of Contents
1. An Introduction To WAP..…..…..…..…..…..…..…..…… 1
1.1 History of WAP 1
1.2 Motivation of WAP 2
1.3 Requirements 4
1.4 The WAP philosophy 4
4
Wireless Application Protocol EE-419 (Communication System Project Report)
5
Wireless Application Protocol EE-419 (Communication System Project Report)
10. References………………..…..…..…..…..…..…..…..…… 67
6
Wireless Application Protocol EE-419 (Communication System Project Report)
List of Figures
7
Wireless Application Protocol EE-419 (Communication System Project Report)
List of Tables
Table 5.1 The four Service Primitives 30
Table 5.2 Minimum capabilities of user and service provider 33
8
Wireless Application Protocol EE-419 (Communication System Project Report)
Definitions
Author – an author is a person or program that writes or generates WML, WMLScript or other content.
Client – a device (or application) that initiates a request for a connection with a server.
Content – subject matter (data) stored or generated at an origin server. Content is typically displayed or
interpreted by a user agent in response to a user request.
Content Encoding – when used as a verb, content encoding indicates the act of converting content from
one format to another. Typically the resulting format requires less physical space than the original, is easier
to process or store and/or is encrypted. When used as a noun, content encoding specifies a particular format
or encoding standard or process.
Device – a network entity that is capable of sending and receiving packets of information and has a unique
device address. A device can act as both a client or a server within a given context or across multiple
contexts. For example, a device can service a number of clients (as a server) while being a client to another
server.
JavaScript – a de facto standard language that can be used to add dynamic behaviour to HTML
documents. JavaScript is one of the originating technologies of ECMAScript.
Origin Server – the server on which a given resource resides or is to be created. Often referred to as a web
server or an HTTP server.
Resource – a network data object or service that can be identified by a URI or URL. Resources may be
available in multiple representations (eg, multiple languages, data formats, size and resolutions) or vary in
other ways.
Server – a device (or application) that passively waits for connection requests from one or more clients. A
server may accept or reject a connection request from a client.
Terminal – a device providing the user with user agent capabilities, including the ability to request and
receive information. Also called a mobile terminal or mobile station.
User – a user is a person who interacts with a user agent to view, hear, or otherwise use a resource.
User Agent – a user agent is any software or device that interprets WML, WMLScript, WTAI or other
resources. This may include textual browsers, voice browsers, search engines, etc.
WMLScript – a scripting language used to program the mobile device. WMLScript is an extended subset
of the JavaScrip scripting language.
9
Wireless Application Protocol EE-419 (Communication System Project Report)
Abbreviations
CGI Common Gateway Interface
CPU Central Processing Unit
DNS Domain Name System
EFI External Functionality Interface
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
IP Internet Protocol
MMI Man-Machine Interface
MMS Multimedia Message Service
OTA Over The Air
PDA Personal Digital Assistant
PICS Protocol Implementation Conformance Statement
PKI Public Key Infrastructure
RAM Random Access Memory
RFC Request For Comments
ROM Read Only Memory
SCR Static Conformance Requirement
SSL Secure Sockets Layer
STD Internet Standard
TCP Transmission Control Protocol
TLS Transport Layer Security
UDP User Datagram Protocol [STD0006]
URI Uniform Resource Identifier [RFC2396]
URL Uniform Resource Locator [RFC2396]
W3C World Wide Web Consortium
WAE Wireless Application Environment [WAE]
WAP Wireless Application Protocol
WDP Wireless Datagram Protocol [WDP]
WIM Wireless Identity Module [WIM]
WML Wireless Markup Language [WML]
WPKI Wireless Public Key Infrastructure [WPKI]
WSP Wireless Session Protocol [WSP]
WTA Wireless Telephony Application [WTA]
WTAI Wireless Telephony Application Interface [WTAI]
WTLS Wireless Transport Layer Security [WTLS]
10
Wireless Application Protocol EE-419 (Communication System Project Report)
1. An introduction to WAP
In this chapter we will compose a description of the WAP concept. We aim to give
an overview of the relevant technology aspects and do not focus on explaining how
to specifically use the different parts of the WAP technology.
Barely a decade ago, when Internet was in its infancy, the mere thought that a
person could access a global database of information right from his/hers room was
thought to be science fiction. In the late nineties when Internet had spawned into a
behemoth that we so greatly depend upon, human race was faced with another such
awe inspiring thought. Could a person chat with his wife, bid at the stock exchange,
keep in touch with the latest in sports and business, catch up on some research, all
while commuting to and from his office? The technology that will make this
feasible is WAP.
WAP bridges the gap between the mobile world and the Internet as well as
corporate intranets and offers the ability to deliver an unlimited range of mobile
value-added services to subscribers—independent of their network, bearer, and
terminal. Mobile subscribers can access the same wealth of information from a
pocket-sized device as they can from the desktop.
Unwired Planet introduced the Handheld Device Markup Language (HDML) and
the Handheld Device Transport Protocol (HDTP). HDML was created as a version
of HTML, used on the Internet. HDML was designed and optimized specifically for
effective information transfer across mobile networks with low bandwidth. HTML
is the way to present the data and formatting in a way that any application can
interpret it. In the same manner HDTP was considered to be a wireless equivalent of
HTTP, as a lightweight protocol to perform client/server transactions (Mobile
Lifestream Ltd., 1999, 1). In 1997 Nokia presented the Smart Messaging concept,
an open specification which provides access to value-added services, such as
Internet, directly from any standard GSM phone. The communication between the
phone and the server was based on Short Message Service (SMS) and a mark-up
language called Tagged Text Markup Language (TTML) technology, which like
11
Wireless Application Protocol EE-419 (Communication System Project Report)
HDML, optimized for narrow-band connection (Techmall, 1997). With all these
concepts being developed and presented there was a substantial risk that the market
of value added services in mobile networks could become fragmented. This would
lead to a situation that neither of the involved companies would benefit from.
12
Wireless Application Protocol EE-419 (Communication System Project Report)
Wireless devices are, as a rule not equipped with amounts of memory and
computational power comparable to desktop computers. Even though the trend
shows that more powerful hardware will be included in wireless devices, the
relative difference between handheld devices and desktop computer will most
likely be sustained.
Wireless communication of today suffers from the restricted operating time due to
battery power consumption. Even though batteries are being developed to last
longer and the radio interfaces are tuned to consume less power, there is still more
to ask for in this area.
There has been a strive to make wireless hand-held devices as small as possible in
order to make them convenient when the user is on the move and thus provide
large portability. This need for portability set the constraints on the size of the
display used for service interaction on a wireless hand-held device.
• Less bandwidth,
• More latency,
• Less connection stability, and
• Less predictable availability.
A WAP service must not consume much bandwidth when transmitted in order to be
suitable for wireless access. Compared to wired networks, the wireless networks
have high latency. This restriction is addressed in WAP by minimizing the
roundtrips between the wireless device and the wireless network.
Wired network access provide a connection which can be unstable and
unpredictable for shorter or longer periods due to for example lost radio coverage
and deficient capacity.
Mobile networks are growing in complexity and the cost of all aspects for
provisioning of more value added services is increasing. In order to meet the
requirements of mobile network operators, solutions must be:
13
Wireless Application Protocol EE-419 (Communication System Project Report)
networks while still preserving the integrity of user data; protects the devices and
services from security problems such as denial of service.
Many of the current mobile networks include advanced services that can be offered
to end-users. Mobile network operators strive to provide advanced services in a
useable and attractive way in order to promote increased usage of the mobile
network services and to decrease the turnover rate of subscribers. Standard features,
like call control, can be enhanced by using WAP technology to provide customized
user interfaces. For example, services such as call forwarding may provide a user
interface that prompts the user to make a choice between accepting a call,
forwarding to another person, forwarding it to voice mail, etc.
The WAP specifications address mobile network characteristics and operator needs
by adapting existing network technology to the special requirements of mass-
market, hand-held wireless data devices and by introducing new technology where
appropriate. [1]
1.3 Requirements
The requirements of the WAP Forum are to:
• Leverage existing standards where possible.
• Define a layered, scaleable and extensible architecture.
• Support as many wireless networks as possible.
• Optimize for narrow-band bearers with potentially high latency.
• Optimize for efficient use of device resources (low memory/CPU usage/power
consumption).
• Provide support for secure applications and communication.
• Enable the creation of Man Machine Interfaces (MMIs) with maximum
flexibility and vendor control.
• Provide access to local handset functionality, such as logical indication for
incoming call.
• Facilitate network-operator and third party service provisioning.
• Support multi-vendor interoperability by defining the optional and mandatory
components of the specifications.
• Provide a programming model for telephony services and integration. [1]
14
Wireless Application Protocol EE-419 (Communication System Project Report)
limited to, devices such as cell-phones, pagers, two-way radios and personal data
assistants. This communication is not limited to static, boring pages like the web
once was; Rather, WAP offers the opportunity to integrate databases, dynamic
content, e-commerce, and secure information trafficking via a WAP-enabled
device. Although the name itself refers to a single protocol, WAP can actually be
thought of a compilation of protocols brought together to cover many aspect of
wireless communications.
WAP offers the solution to all those problems that wireless devices tend to face,
which have been enumerated in section 1.2. The solution are provided as follows:
15
Wireless Application Protocol EE-419 (Communication System Project Report)
binary, for the same reason. Moreover it provides for long-lived sessions that
can be suspended and resumed (more on this in chapter describing WSP).
16
Wireless Application Protocol EE-419 (Communication System Project Report)
The Internet World Wide Web (WWW) architecture provides a very flexible and
powerful programming model (Figure 2.1). Applications and content are presented
in standard data formats, and are browsed by applications known as web browsers.
The web browser is a networked application, i.e. it sends requests for named data
objects to a network server and the network server responds with the data encoded
using the standard formats.
The WWW standards specify many of the mechanisms necessary to build a general-
purpose application environment, including:
• Standard naming model – All servers and content on the WWW are named with an
Internet-standard Uniform Resource Locator (URL).
• Content typing – All content on the WWW is given a specific type thereby
allowing web browsers to correctly process the content based on its type.
• Standard content formats – All web browsers support a set of standard content
formats. These include the HyperText Markup Language (HTML), the JavaScript
scripting language, and a large number of other formats.
17
Wireless Application Protocol EE-419 (Communication System Project Report)
The WAP programming model (Figure 2.2) is similar to the WWW programming
model. This provides several benefits to the application developer community,
including a familiar programming model, a proven architecture, and the ability to
leverage existing tools (e.g., Web servers, XML tools, etc.). Optimizations and
18
Wireless Application Protocol EE-419 (Communication System Project Report)
extensions have been made in order to match the characteristics of the wireless
environment. Wherever possible, existing standards have been adopted or have been
used as the starting point for the WAP technology.
WAP content and applications are specified in a set of well-known content formats
based on the familiar WWW content formats. Content is transported using a set of
standard communication protocols based on the WWW communication protocols. A
micro browser in the wireless terminal co-ordinates the user interface and is
analogous to a standard web browser. WAP defines a set of standard components
that enable communication between mobile terminals and network servers,
including:
• Standard naming model – WWW-standard URLs are used to identify WAP
content on origin servers. WWW-standard URLs are used to identify local resources
in a device, e.g. call control functions.
• Content typing – All WAP content is given a specific type consistent with WWW
typing. This allows WAP user agents to correctly process the content based on its
type.
• Standard content formats – WAP content formats are based on WWW technology
and include display markup, calendar information, electronic business card objects,
images and scripting language.
• Standard communication protocols – WAP communication protocols enable the
communication of browser requests from the mobile terminal to the network web
server.
The WAP content types and protocols have been optimized for mass market, hand-
held wireless devices. WAP utilizes proxy technology to connect between the
wireless domain and the WWW. The WAP proxy typically is comprised of the
following functionality:
• Protocol Gateway – The protocol gateway translates requests from the WAP
protocol stack (WSP, WTP, WTLS, and WDP) to the WWW protocol stack (HTTP
and TCP/IP).
• Content Encoders and Decoders – The content encoders translate WAP content
into compact encoded formats to reduce the size of data over the network.
This infrastructure ensures that mobile terminal users can browse a wide variety of
WAP content and applications, and that the application author is able to build
content services and applications that run on a large base of mobile terminals. The
WAP proxy allows content and applications to be hosted on standard WWW servers
and to be developed using proven WWW technologies such as CGI scripting. While
the nominal use of WAP will include a web server, WAP proxy and WAP client, the
WAP architecture can quite easily support other configurations. It is possible to
create an origin server that includes the WAP proxy functionality. Such a server
might be used to facilitate end-to-end security solutions, or applications that require
better access control or a guarantee of responsiveness, e.g. WTA.
19
Wireless Application Protocol EE-419 (Communication System Project Report)
In the example, the WAP client communicates with two servers in the wireless
network. The WAP proxy translates WAP requests to WWW requests thereby
allowing the WAP client to submit requests to the web server. The proxy also
encodes the responses from the web server into the compact binary format
understood by the client.
If the web server provides WAP content (e.g., WML), the WAP proxy retrieves it
directly from the web server. However, if the web server provides WWW content
(such as HTML), a filter is used to translate the WWW content into WAP content.
For example, the HTML filter would translate HTML into WML.
The Wireless Telephony Application (WTA) server is an example origin or
gateway server that responds to requests from the WAP client directly. The WTA
server is used to provide WAP access to features of the wireless network provider’s
telecommunications infrastructure.
20
Wireless Application Protocol EE-419 (Communication System Project Report)
The WAP layered architecture enables other services and applications to utilize the
features of the WAP stack through a set of well-defined interfaces. External
applications may access the session, transaction, security and transport layers
directly. The following sections provide a description of the various elements of the
protocol stack architecture.
21
Wireless Application Protocol EE-419 (Communication System Project Report)
The Wireless Session Protocol (WSP) provides the application layer of WAP with a
consistent interface for two session services. The first is a connection-oriented
service that operates above the transaction layer protocol WTP. The second is a
connectionless service that operates above a secure or non-secure datagram service
(WDP). The Wireless Session Protocols currently consist of services suited for
browsing applications (WSP/B). WSP/B provides the following functionality:
The protocols in the WSP family are optimized for low-bandwidth bearer networks
with relatively long latency. WSP/B is designed to allow a WAP proxy to connect a
WSP/B client to a standard HTTP server.
The Wireless Transaction Protocol (WTP) runs on top of a datagram service and
provides as a lightweight transaction-oriented protocol that is suitable for
implementation in “thin” clients (mobile stations). WTP operates efficiently over
secure or non-secure wireless datagram networks and provides the following
features:
• Three classes of transaction service:
• Unreliable one-way requests.
• Reliable one-way requests.
22
Wireless Application Protocol EE-419 (Communication System Project Report)
• Data integrity – WTLS contains facilities to ensure that data sent between the
terminal and an application server is unchanged and uncorrupted.
• Privacy – WTLS contains facilities to ensures that data transmitted between the
terminal and an application server is private and cannot be understood by any
intermediate parties that may have intercepted the data stream.
• Authentication – WTLS contains facilities to establish the authenticity of the
terminal and application server.
• Denial-of-service protection – WTLS contains facilities for detecting and rejecting
data that is replayed or not successfully verified. WTLS makes many typical denial-
of-service attacks harder to accomplish and protects the upper protocol layers.
WTLS may also be used for secure communication between terminals, e.g., for
authentication of electronic business card exchange. Applications are able to
selectively enable or disable WTLS features depending on their security
requirements and the characteristics of the underlying network (e.g., privacy may be
disabled on networks already providing this service at a lower layer)
The Transport layer protocol in the WAP architecture is referred to as the Wireless
Datagram Protocol (WDP). The WDP layer operates above the data capable bearer
services supported by the various network types. As a general transport service,
WDP offers a consistent service to the upper layer protocols of WAP and
communicate transparently over one of the available bearer services.
Since the WDP protocols provide a common interface to the upper layer protocols
the Security, Session and Application layers are able to function independently of
the underlying wireless network. This is accomplished by adapting the transport
layer to specific features of the underlying bearer. By keeping the transport layer
23
Wireless Application Protocol EE-419 (Communication System Project Report)
interface and the basic features consistent, global interoperability can be achieved
using mediating gateways.
3.6 Bearers
The WAP protocols are designed to operate over a variety of different bearer
services, including short message, circuit-switched data, and packet data. The
bearers offer differing levels of quality of service with respect to throughput, error
rate, and delays. The WAP protocols are designed to compensate for or tolerate this
varying level of service.
Since the WDP layer provides the convergence between the bearer service and the
rest of the WAP stack, the WDP specification lists the bearers that are supported and
the techniques used to allow WAP protocols to run over each bearer. The list of
supported bearers will change over time with new bearers being added as the
wireless market evolves.
The WAP layered architecture enables other services and applications to utilize the
features of the WAP stack through a set of well-defined interfaces. External
applications may access the session, transaction, security and transport layers
directly. This allows the WAP stack to be used for applications and services not
currently specified by WAP, but deemed to be valuable for the wireless market. For
example, applications, such as electronic mail, calendar, phone book, notepad, and
electronic commerce, or services, such as white and yellow pages, may be developed
to use the WAP protocols.
24
Wireless Application Protocol EE-419 (Communication System Project Report)
The leftmost stack represents a typical example of a WAP application, i.e., WAE
user agent, running over the complete portfolio of WAP technology. The middle
stack is intended for applications and services that require transaction services with
or without security. The rightmost stack is intended for applications and services that
only require datagram transport with or without security. [1]
In the next few chapters each of this protocol stack components, briefly touched
upon above will, be explained in detail.
25
Wireless Application Protocol EE-419 (Communication System Project Report)
In all of the following chapters wherein the Protocol layers are being explained
individually, consistent references to this figure will be made.
26
Wireless Application Protocol EE-419 (Communication System Project Report)
4.1 Background
WAE specifies an application framework for wireless devices such as PDAs, mobile
phones etc. The framework is built upon existing WAP technologies like WTP and
WSP, both part of the protocol stack. WAE being the top most layer has access to
each and every layer beneath it, as dictated by the WAP protocol stack architecture
(refer to chapter 3).
The output of the WAE effort is a collection of technical specifications that are
either new or based on existing and proven technologies. Among the existing
technologies leveraged by the WAE efforts are:
The resulting WAE technologies are not fully compliant to all of the motivating
technologies. Where necessary, modifications were made to better integrate the
elements into a cohesive environment and better optimize the interaction and user
interface for small screen limited capability terminals that communicate over
wireless networks.
27
Wireless Application Protocol EE-419 (Communication System Project Report)
• WAE must enable simple yet efficient, meaningful and powerful application
development and execution environments.
• WAE must provide a general framework. WAE cannot assume that a browser is
the controlling agent in the device, nor can it assume that a browser is running at all
times. Other applications may exist in the device. In which case, WAE must not
prevent such applications from coexisting or even integrating with a browser. In
addition, those other applications should be able to access and leverage common
WAE services on the device where appropriate.
28
Wireless Application Protocol EE-419 (Communication System Project Report)
WAE enhances some of the WWW standards in ways that reflect the device and
network characteristics. WAE extensions are added to support Mobile Network
Services such as Call Control and Messaging. Careful attention is paid to the
memory and CPU processing constraints that are found in mobile terminals. Support
for low bandwidth and high latency networks is included in the architecture as well.
WAE assumes the existence of gateway functionality responsible for encoding and
decoding data transferred from and to the mobile client. The purpose of encoding
content delivered to the client is to minimize the size of data sent to the client over-
the-air as well as to minimize the computational energy required by the client to
process that data. The gateway functionality can be added to origin servers or placed
in dedicated gateways as illustrated in Figure 4.1.
• Content Generators:
Applications (or services) on origin servers (e.g., CGI scripts) that produce
standard content formats in response to requests from user agents in the mobile
29
Wireless Application Protocol EE-419 (Communication System Project Report)
terminal. WAE does not specify any standard content generators but expects that
there will be a great variety available running on typical HTTP origin servers
commonly used in WWW today.
Typically, a user agent on the terminal initiates a request for content. However, not
all content delivered to the terminal will result from a terminal-side request. For
example, WTA includes mechanisms that allow origin servers to deliver generated
content to the terminal without a terminal’s request as illustrated in Figure 4.2
The push based WAP model would be explained in more detail later on in this
report.
In some cases, what the origin server delivers to the device may depend on the
characteristics of the device. The user agent characteristics are communicated to the
server via standard capability negotiation mechanisms that allows applications on
the origin server to determine characteristics of the mobile terminal device. WAE
defines a set of user agent capabilities that will be exchanged using WSP
30
Wireless Application Protocol EE-419 (Communication System Project Report)
The figure 4.3 shows the client components of WAE, whereby the WAE is divide
into two logical layers:
• Services and Formats, which include common elements and formats accessible to
user agents such as WML, WMLScript, image formats, vCard and vCalendar
formats, etc.
The thing to note is that this segregation is logical and not an explicit
requirement for the implementers. The structure of a WAE depends upon the
design decisions of its implementers.
31
Wireless Application Protocol EE-419 (Communication System Project Report)
WAE does not formally specify any user agent. Features and capabilities of a user
agent are left to the implementers. Instead, WAE only defines fundamental services
and formats that are needed to ensure interoperability among implementations. An
overview of those services and formats is included in subsequent sections.
4.4.2.1 WML
WML is a tag-based document language. In particular, it is an application of a
generalized mark-up language. WML shares a heritage with the WWW’s HTML
and Handheld Device Markup Language. WML is specified as an XML [XML]
document type. It is optimized for specifying presentation and user interaction on
limited capability devices such as telephones and other wireless mobile terminals.
WML and its supporting environment were designed with certain small narrow-
band device constraints in mind including small displays, limited user-input
facilities, narrow band network connections, limited memory resources and limited
computational resources. Given the wide and varying range of terminals targeted by
WAP, considerable effort was put into the proper distribution of presentation
responsibility between the author and the browser implementation.
WML is based on a subset of HDML version 2.0. WML changes some elements
adopted from HDML and introduces new elements, some of which have been
modeled on similar elements in HTML. The resulting WML implements a card and
deck metaphor. It contains constructs allowing the application to specify documents
made up of multiple cards. An interaction with the user is described in a set of
cards, which can be grouped together into a document (commonly referred to as a
deck). Logically, a user navigates through a set of WML cards. The user navigates
to a card, reviews its contents, may enter requested information, may make choices,
and then moves on to another card. Instructions imbedded within cards may invoke
services on origin servers as needed by the particular interaction. Decks are fetched
from origin servers as needed. WML decks can be stored in ‘static’ files on an
origin server, or they can be dynamically generated by a content generator running
on an origin server. Each card, in a deck, contains a specification for a particular
user interaction. [3]
32
Wireless Application Protocol EE-419 (Communication System Project Report)
• International Support
The document character set for WML is the Universal Character Set of ISO/IEC-
10646. Currently, this character set is identical to Unicode 2.0. There is no
requirement that WML decks be encoded using the full Unicode encoding (e.g.,
UCS-4). Any character encoding ("charset") that contains a proper subset of
the logical characters in Unicode may be used (e.g., US-ASCII, ISO-8859-1, UTF-
8, Shift_JIS, etc.)
• MMI Independence
WML’s abstract specification of layout and presentation enables terminal and
device vendors to control the MMI design for their particular products.
• Narrow-band Optimization
WML includes a variety of technologies to optimize communication on a narrow-
band device. This includes the ability to specify multiple user interactions (cards) in
one network transfer (a deck). It also includes a variety of state management
33
Wireless Application Protocol EE-419 (Communication System Project Report)
facilities that minimize the need for origin server requests. WML includes other
mechanisms to help improve response time and minimize the amount of data
exchanged over-the-air. For example, WML allows the author to parameterize (or
pass variables to) a subsequent context. It supports variable substitution and
provides out-of-band mechanisms for client-side variable passing without having to
alter URLs. The out-of-band passing of variables without changing the way URLs
appear attempts to improve client-side cache hits.
4.4.2.2 WMLScript
WMLScript is a lightweight procedural scripting language. It enhances the standard
browsing and presentation facilities of WML with behavioral capabilities, supports
more advanced UI behavior, adds intelligence to the client, provides a convenient
mechanism to access the device and its peripherals, and reduces the need for round-
trips to the origin server.
• The ability to check the validity of user input before it is sent to the content server.
• The ability to access device facilities and peripherals.
• The ability to interact with the user without introducing round-trips to the origin
server (e.g., display an error message).
• Event-based:
34
Wireless Application Protocol EE-419 (Communication System Project Report)
• Compiled implementation:
WMLScript can be compiled down to a more space efficient byte code that is
transported to the client.
• International Support
WMLScript source text is represented as a sequence of characters representable
using the Universal Character set of ISO/IEC-10646. Currently, this character set is
identical to Unicode 2.0. There is no requirement that WMLScript documents be
encoded using the full Unicode encoding (e.g. UCS-4). Any character encoding
("charset") that contains an inclusive subset of the characters in Unicode may be
used (e.g. US-ASCII, ISO-8859-1, Shift_JIS, etc.).
4.4.2.3 URLs
WAE assumes a rich set of URL services that user agents can use. In particular,
WAE relies heavily on HTTP and HTML URL semantics. In some cases, WAE
components extend the URL semantics, such as in WML, where URL fragments
has been extended to allow linking to particular WMLScript functions.
35
Wireless Application Protocol EE-419 (Communication System Project Report)
the WMLScript byte code formats. WAE defines WML and WMLScript encoding
formats that make transmission of WML and WMLScript more efficient as well as
minimizes the computational efforts needed on the client. In addition, WAE defines
and adopts other formats for data types including:
• Images:
WAE assumes visual environments that support images will support several image
formats. The selection of formats was an attempt to meet several competing
requirements including: support of multiple choices of pixel depth, support of
colorspace tables, small encoding, very low CPU and RAM decoding and
presentation demands and availability of common tools and other developer
support.
• Multipart Messages:
WAE leverages a multipart-encoding scheme optimized for exchanging multiple
typed content over WSP.
36
Wireless Application Protocol EE-419 (Communication System Project Report)
a) establish a reliable session from client to server and release that session in an
orderly manner;
b) agree on a common level of protocol functionality using capability negotiation;
c) exchange content between client and server using compact encoding;
d) suspend and resume the session.
The currently defined services and protocols (WSP) are most suited for browsing-
type applications. WSP defines actually two protocols: one provides connection-
mode session services over a transaction service, and another provides non-
confirmed, connectionless services over a datagram transport service. The
connectionless service is most suitable, when applications do not need reliable
delivery of data and do not care about confirmation. It can be used without actually
having to establish a session.
37
Wireless Application Protocol EE-419 (Communication System Project Report)
WSP itself does not interpret the header information in requests and replies. As part
of the session creation process, request and reply headers that remain constant over
the life of the session can be exchanged between service users in the client and the
server. These may include acceptable content types, character sets, languages,
device capabilities and other static parameters. WSP will pass through client and
server session headers as well as request and response headers without additions or
removals.
The lifecycle of a WSP session is not tied to the underlying transport. A session can
be suspended while the session is idle to free up network resources or save battery.
A lightweight session re-establishment protocol allows the session to be resumed
without the overhead of full-blown session establishment. A session may be
resumed over a different bearer network.
WSP provides both push and pull data transfer. Pull is done using the
request/response mechanism from HTTP/1.1. In addition, WSP provides three push
mechanisms for data transfer:
The Push mechanism will be explained in greater detail in chapter 7. For the
moment just think of Push as being a mechanism to provide the end user with
unsolicited information by the origin server.
38
Wireless Application Protocol EE-419 (Communication System Project Report)
WSP partitions the space of well-known header field names into header code pages.
Each code page can define only a fairly limited number of encodings for well-
known field names, which permits them to be represented more compactly.
Running out of identities for well-known field names on a certain code page is still
not a problem, since WSP specifies a mechanism for shifting from one header code
page to another.
In the following sections some definitions will be made which will be referred to
through out for the better explanation of both WSP and WTP (chapter 6).
X-Service.type (Parameters)
where X designates the layer providing the service. For this specification X is “S”
for the Session Layer, “T” for the transport layer and so on.
39
Wireless Application Protocol EE-419 (Communication System Project Report)
40
Wireless Application Protocol EE-419 (Communication System Project Report)
The Session Management and Exception reporting facilities are always available.
The others are controlled by capability negotiation during session establishment.
Session Management allows a client to connect with a server and to agree on the
facilities and protocol options to be used. A server can refuse the connection
attempt, optionally redirecting the client to another server. During session
establishment the client and server can also exchange attribute information, which
is expected to remain valid for the duration of the session. Both the server and the
client service user can also terminate the session, so that the peer is eventually
notified about the termination. The user is also notified if session termination occurs
due to the action of the service provider or a management entity.
Method Invocation permits the client to ask the server to execute an operation and
return the result. The available operations are the HTTP methods or user-defined
extension operations, which fit into the same request-reply or transaction pattern.
The service users both in the client and the server are always notified about the
completion of the transaction, whether it succeeded or failed. Failure can be caused
by an abort initiated either by the service user or the service provider.
The Exception Reporting facility allows the service provider to notify the user about
events that are related to no particular transaction and do not cause a change in the
state of the session.
The Push facility permits the server to send unsolicited information to the client
taking advantage of the session information shared by the client and the server. This
facility is a non-confirmed one, so delivery of the information MAY be unreliable.
The Confirmed Push facility is similar to the Push facility, but the client confirms
the receipt of the information. The client may also choose to abort the push, so that
the server is notified.
The Session Resume facility includes means to suspend a session so that the state of
the session is preserved, but both peers know that further communication is not
possible until the client resumes the session. This mechanism is also used to handle
the situations in which the service provider detects that further communication is no
longer possible, until some corrective action is taken by the service user or
management entities. It can also be used to switch the session to use an alternate
bearer network, which has more appropriate properties than the one being used.
This facility SHOULD be implemented to ensure reasonable behavior in certain
bearer network environment. [4]
41
Wireless Application Protocol EE-419 (Communication System Project Report)
The peer which starts the capability negotiation process is called the initiator, and
the other peer is called the responder. Only a one-way capability negotiation is
defined, in which the initiator proposes a set of capabilities, and the responder
replies to these. The capability negotiation process is under the control of the
initiator, so that the responder MUST NOT ever reply with any capability setting,
which implies a higher level of functionality than the one proposed by the initiator
and supported by the service provider peers. Capability negotiation applies always
to all the known capabilities. If a particular capability is omitted from the set of
capabilities carried by a service primitive, this must be interpreted to mean that the
originator of the primitive wants to use the current capability setting, either the
default or the value agreed upon during capability negotiation process. However,
the responder may still reply with a different capability value, as long as this does
not imply a higher level of functionality. The one-way capability negotiation
proceeds as follows:
2. The service provider in the initiator modifies the capabilities, so that they do not
imply a higher level of functionality than the provider actually can support.
3. The service provider in the responder further modifies the capabilities, so that
they do not imply a higher level of functionality than the provider in the
responder actually can support.
4. The service user in the responder receives this modified set of capabilities, and
responds with a set of capabilities, which reflect the level of functionality it
actually wishes to use. If a particular capability is omitted, this is interpreted to
mean that the responding service user wants to use the proposed capability
setting.
42
Wireless Application Protocol EE-419 (Communication System Project Report)
5. The capabilities selected by the service user in the responder are indicated to the
service user in the initiator. They will become the default settings, which will be
applicable in the next capability negotiation during the session.
If the operation implied by the service primitive that is used to convey the
capability information fails, the capability settings that were in effect before the
operation shall remain in effect.
If a negotiable capability value is a positive integer, the final capability setting shall
be the minimum of the values, which the service users have proposed to use and
which the service provider peers are capable of supporting.
If a negotiable capability value is a set, the final capability setting shall contain only
those elements, which are all included in the subsets that the service users have
proposed to use and which the service provider peers are capable of supporting.[4]
Table 5.2 [4] describes the minimum capabilities that must be recognized by the
service user and service provider.
43
Wireless Application Protocol EE-419 (Communication System Project Report)
• session establishment
• method invocation
• push messages
• suspend
• resume
• session termination
each of these possibilities are explained through examples and Time sequence
diagrams (see 5.2.2).
44
Wireless Application Protocol EE-419 (Communication System Project Report)
45
Wireless Application Protocol EE-419 (Communication System Project Report)
46
Wireless Application Protocol EE-419 (Communication System Project Report)
In the connectionless mode, WSP provides only the bare bones of the services.
Since it does not utilize the WTP layer, no confirmation can be expected for the
invocation of any method. All communication thus takes place blindly, with the
server sending information with the basic assumption that it is being accepted by
the client. Following are some of the features of connectionless WSP service:
47
Wireless Application Protocol EE-419 (Communication System Project Report)
48
Wireless Application Protocol EE-419 (Communication System Project Report)
49
Wireless Application Protocol EE-419 (Communication System Project Report)
The following subsections describes the transaction classes of WTP. The WTP
provider initiating a transaction is referred to as the Initiator. The WTP provider
responding to a transaction is referred to as the Responder. The transaction class is
set by the Initiator and indicated in the ‘invoke’ message sent to the Responder.
Transaction classes can not be negotiated. ‘Invoke’ is a service primitive assumed to
be present for WTP user. (for service primitives refer to chapter 5)
If the User acknowledgement function is enabled, the WTP user at the Responder
confirms the invoke message before the acknowledgement is sent to the Initiator.
6.2.3 Class 2: Reliable invoke message with one reliable result message
Class 2 transactions provide the basic invoke/response transaction service. One WSP
session MAY consist of several transactions of this type.
50
Wireless Application Protocol EE-419 (Communication System Project Report)
message back to the Initiator. The result message is acknowledged by the Initiator.
The Initiator maintains state information for some time after the acknowledgement
has been sent. This is done in order to handle possible re-transmissions of the
acknowledgement if it gets lost and/or the Responder re-transmits the result
message. At the Responder the transaction ends when the acknowledgement has
been received. The transaction can at any time be aborted.
If the User acknowledgement function is enabled, the WTP user at the Responder
confirms the invoke message before the result is generated. The WTP user at the
Initiator confirms the result message before the acknowledgement is sent to the
Responder.
The WTP protocol is designed around an assumption that the environment in which
it is operating is capable of transmitting and receiving data. For example, this
assumption includes the following basic capabilities that must be provided by the
mobile device:
• The mobile is within a coverage area applicable to the bearer service being
invoked;
• The mobile having sufficient power and the power being on;
• Sufficient resources (processing and memory) within the mobile are available to
WTP;
• The WTP protocol is correctly configured, and ;
• The user is willing to receive/transmit data.
The WTP Management Entity monitors the state of the above services/capabilities of
the mobile’s environment and would notify the WTP layer if one or more of the
assumed services were not available. For example if the mobile roamed out of
coverage for a bearer service, the Bearer Management Entity should report to the
WTP Management Entity that transmission/reception over that bearer is no longer
possible. In turn, the WTP Management Entity would indicate to the WTP layer to
close all active connections over that bearer.
In addition to monitoring the state of the mobile environment the WTP Management
Entity MAY be used as the interface to the user for setting various configuration
parameters used by WTP, such as device address. It could also be used to
implement functions available to the user such as a drop all data connections feature.
In general the WTP Management Entity will deal with all issues related to
initialization, configuration, dynamic re-configuration, and resources as they pertain
to the WTP layer.
51
Wireless Application Protocol EE-419 (Communication System Project Report)
6.5.1.5 Ack-Type
This parameter is used to turn the User acknowledgement function on or off.
52
Wireless Application Protocol EE-419 (Communication System Project Report)
6.5.1.9 Handle
The transaction handle is an index returned to the higher layer so the higher layer
can identify the transaction and associate the data received with an active
transaction. The TR-Handle uniquely identifies a transaction. TR-Handle is an alias
for the source address, source port, destination address, and destination port of the
transaction. The TR-Handle has local significance only.[5]
6.5.2 TR-Result
This primitive is used to send back a result of a previously initiated transaction. It
also utilizes the following parameters :
• User Data
• Exit Info
• Handle
6.5.3 TR-Abort
This primitive is used to abort an existing transaction. Parameters include:
• Abort Code
• Handle
6.6.1.1 Motivation
Class 0 is an unreliable datagram service. It can be used by WSP [WSP], for
example, to make an unreliable “push” within a session using the same socket
association.
This class is intended to augment the transaction service with the capability for an
application using WTP to occasionally send a datagram within the same context of
an existing session using WTP. It is not intended as a primary means of sending
datagrams.
53
6.6.1.3 Procedure
A Class 0 transaction is initiated by the WTP user by issuing the TR-Invoke request
primitive with the Transaction Class parameter set to Class 0. The WTP provider
sends the invoke message and becomes the Initiator of the transaction. The remote
WTP provider receives the invoke message and becomes the Responder of the
transaction. The Initiator does not wait for or expect a response. If the invoke
message is received by the Responder it is accepted immediately. There is no
duplicate removal or verification procedure performed. However, the initiator
MUST increment the TID counter between each transaction, but the responder
MUST NOT update its cached TID.
The WTP provider MUST support this transaction class. The WTP provider MUST
be able to act as both Initiator and Responder. Refer to figure 6.1.
54
Figure 6.2 Class 1 Transaction
Wireless Application Protocol EE-419 (Communication System Project Report)
6.6.2.3 Procedure
A Class 1 transaction is initiated by the WTP user by issuing the TR-Invoke request
primitive with the Transaction Class parameter set to Class 1. The WTP provider
sends the invoke message and becomes the Initiator of the transaction. The remote
WTP provider receives the invoke message and becomes the Responder of the
transaction. The Responder checks the Transaction Identifier and determines
whether a verification has to be initiated. If not, it delivers the message to the user
and returns the last acknowledgement to the Initiator. The Responder MUST keep
state information in order to re-transmit the last acknowledgement if it gets lost.
The WTP provider MUST support this transaction class. The WTP provider MUST
also be able to act as both Initiator and Responder. Refer to figure 6.2.
6.6.3.1 Motivation
The Class 2 transaction is the basic request/response transaction service. This is the
most commonly used transaction service. For example, it is used by WSP for method
invocations.
55
6.6.3.3 Procedure
A Class 2 transaction is initiated by the WTP user by issuing the TR-Invoke request
primitive with the Transaction Class parameter set to Class 2. The WTP provider
sends the invoke message and becomes the Initiator of the transaction. The remote
WTP provider receives the invoke message and becomes the Responder of the
transaction. The Responder checks the Transaction Identifier and determines
whether a verification has to be initiated. If not, it delivers the message to the WTP
user and wait for the result. The Responder MAY send a hold on acknowledgement
after a specified time.
The WTP user sends the result message by issuing the TR-Result request primitive.
When the Initiator has received the result message it returns the last
acknowledgement to the Responder. The Initiator MUST keep state information in
order to re-transmit the last acknowledgement if it gets lost. Refer to figure 6.3.
If the Responder does not support this transaction class it returns an Abort PDU with
the abort reason NOTIMPLEMENTEDCL2 as a response to the invoke message.
56
Wireless Application Protocol EE-419 (Communication System Project Report)
layers of the stack and communication transparently over one of the available
bearer services.
This chapter briefly touches upon both of these protocol layers in the WAP protocol
stack.
In the WTLS layer operates above the transport protocol layer. The WTLS layer is
modular and it depends on the required security level of the given application
whether it is used or not. WTLS provides the upper-level layer of WAP with a
secure transport service interface that preserves the transport service interface below
it. In addition, WTLS provides an interface for managing (e.g. creating and
terminating) secure connections.
The primary goal of the WTLS layer is to provide privacy, data integrity and
authentication between two communicating applications. WTLS provides
functionality such as datagram support, optimized handshake and dynamic key
refreshing. The WTLS protocol is optimized for low-bandwidth bearer networks
with relatively long latency.
Abbreviated Handshake
A creation of a new connection state based on an existing secure session.
Connection State
The operating environment of the record protocol. The connection state includes all
parameters that are needed for the cryptographic operations (encryption/decryption
and MAC (Message Authentication Code) calculation/verification). Each secure
connection has a connection state
Datagram Transport
A transport service that does not guarantee that the sent transport SDUs are not lost,
duplicated or delivered out of order.
Handshake
The procedure of agreeing on the protocol options to be used between a client and a
server. It includes the negotiation of security parameters (e.g., algorithms and key
lengths), key exchange and authentication. Handshaking occurs in the beginning of
each secure connection.
Full Handshake
57
Wireless Application Protocol EE-419 (Communication System Project Report)
A creation of a new secure session between two peers. The full handshake includes
the parameter negotiation and the exchange of public-key information between the
client and server.
Optimized Handshake
A creation of a new secure session between two peers. Unlike in the full handshake,
the server looks up the client certificate from its own source without requesting it
over the air from the client.
Record Protocol
The record protocol takes messages to be transmitted, optionally compresses the
data, applies a MAC, encrypts and transmits the result. Received data is decrypted,
verified, decompressed and then delivered to higher level clients. There are four
record protocol clients described in this document: the handshake protocol, the alert
protocol, the change cipher spec protocol and the application data protocol.
Secure Connection
The WTLS connection that has a connection state. Each secure connection is
identified by the transport addresses of the communicating peers.
Secure Session
The secure session that is negotiated on a handshake. The items that are negotiated
(e.g., session identifier, algorithms and master secret) are used for creating secure
connections.
Session Resume
A new secure connection can be established based on a previously negotiated secure
session. So if there is an existing secure session it is not necessary to perform the full
handshake and cryptographic calculations again. For example, a secure connection
may be terminated and resumed later. Many secure connections can be established
using the same secure session through the resumption feature of the WTLS
handshake protocol. [6]
WTLS Connection management allows a client to connect with a server and to agree
on protocol options to be used. The secure connection establishment consists of
several steps and either client or server can interrupt the negotiation at will (e.g., if
the parameters proposed by the peer are not acceptable). The negotiation may
include the security parameters (e.g., cryptographic algorithms and key lengths), key
exchange and authentication. Either the server or client service user can also
terminate the connection at any time.
58
Wireless Application Protocol EE-419 (Communication System Project Report)
All records are processed under the current state. The security parameters for the
pending state are set by the WTLS Handshake Protocol. The Handshake Protocol
must make the pending state current. The pending state is then reinitialized to an
empty state. The initial current state always specifies that no encryption,
compression, or MAC will be used.[6]
59
Wireless Application Protocol EE-419 (Communication System Project Report)
• Handshake Protocol
• Alert Protocol
• Application Protocol
• Change Cipher Spec Protocol
Record Protocol
60
Wireless Application Protocol EE-419 (Communication System Project Report)
Since the WDP protocols provide a common interface to the upper layer protocols
(Security, Transaction and Session layers), they are able to function independently of
the underlying wireless network. This is accomplished by adapting the transport
layer to specific features of the underlying bearer.
61
Wireless Application Protocol EE-419 (Communication System Project Report)
WDP offers a consistent service at the Transport Service Access Point to the
upper layer protocol of WAP. This consistency of service allows for applications
to operate transparently over different available bearer services. The varying
heights of each of the bearer services shown in Figure 7.3 illustrate the difference
in functions provided by the bearers. Thus the difference in WDP protocol
necessary to operate over those bearers to maintain the same service offering at
the Transport Service Access Point is accomplished by a bearer adaptation.
WDP can be mapped onto different bearers, with different characteristics. In order
to optimize the protocol with respect to memory usage and radio transmission
efficiency, the protocol performance over each bearer may vary. However, the
WDP service and service primitives will remain the same, providing a consistent
interface to the higher layers.[7]
62
Wireless Application Protocol EE-419 (Communication System Project Report)
The WDP layer operates above the data capable bearer services supported by the
various network types. As a general datagram service, WDP offers a consistent
service to the upper layer protocol (Security, Transaction and Session) of WAP
and communicate transparently over one of the available bearer services.
In Figure 7.4 the shaded areas are the layers of protocol, which the WDP
Specification is specifically applicable. At the Mobile the WDP protocol consists
63
Wireless Application Protocol EE-419 (Communication System Project Report)
of the common WDP elements shown by the layer labeled WDP. The Adaptation
Layer is the layer of the WDP protocol that maps the WDP protocol functions
directly onto a specific bearer. The Adaptation Layer is different for each bearer
and deals with the specific capabilities and characteristics of that bearer service.
The Bearer Layer is the bearer service such as GSM SMS, or USSD, or IS-136 R-
Data, or CDMA Packet Data. At the Gateway the Adaptation Layer terminates
and passes the WDP packets on to a WAP Proxy/Server via a Tunneling protocol,
which is the interface between the Gateway that supports the bearer service and
the WAP Proxy/Server. For example if the bearer were GSM SMS, the Gateway
would be a GSM SMSC and would support a specific protocol (the Tunnelling
protocol) to interface the SMSC to other servers. The SubNetwork is any common
networking technology that can be used to connect two communicating devices,
examples are wide-area networks based on TCP/IP or X.25, or LANs operating
TCP/IP over Ethernet. The WAP Proxy/Server may offer application content or
may act as a gateway between the wireless WTP protocol suites and the wired
Internet [7].
For example, this assumption includes the following basic capabilities that must
be provided by the mobile:
• the mobile is within a coverage area applicable to the bearer service being
invoked;
• the mobile having sufficient power and the power being on;
• sufficient resources (processing and memory) within the mobile are available
to WDP;
• the WDP protocol is correctly configured, and ;
• the user is willing to receive/transmit data.
The WDP Management Entity would monitor the state of the above
services/capabilities of the mobile’s environment and would notify the WDP layer
if one or more of the assumed services were not available. For example if the
mobile roamed out of coverage for a bearer service, the Bearer Management
Entity should report to the WDP Management Entity that transmission/reception
over that bearer is no longer possible. In turn the WDP Management Entity would
indicate to the WDP layer to close all active connections over that bearer. Other
examples such as low battery power would be handled in a similar way by the
WDP Management Entity.
64
Wireless Application Protocol EE-419 (Communication System Project Report)
used to implement functions available to the user such as a “drop all data
connections” feature. In general the WDP Management Entity will deal with all
issues related to initialization, configuration, dynamic re-configuration, and
resources, as they pertain to the WDP layer.[7]
The WDP protocol operates over various bearer services. Each bearer service for
which WDP is specified supports a datagram service. It is this datagram service
which WDP uses to support the abstract service primitives defined in this
specification. For bearer services supporting IP the WDP protocol must be UDP.
For bearer services not supporting IP the bearer services must provide some basic
functionalities through their data link layer such as Source and Destination port
address T-DUnitdata Service primitives.
65
Wireless Application Protocol EE-419 (Communication System Project Report)
In the figure the shaded portion is the adaptation required by the WDP to SMS, to
provide consistent interface to the upper layers. In between the Mobile and the
WAP proxy the frame is passed through a SMS-IF Tunnel which ensures that the
frame reaches the proxy even through a different subnetwork. If the intervening
network has a TCP/IP subnetwork then a direct link to the server TCP/IP layer
can be provided through UDP (User datagram Protocol).
66
Wireless Application Protocol EE-419 (Communication System Project Report)
WDP for GSM supports mandatory binary and optional text based headers. GSM
USSD Phase 2 supports binary headers, GSM SMS Phase 2 supports both binary
and text based headers and GSM SMS Phase 1 supports text based headers.
Each packet (segment) used in the WDP protocol are identified by a User Data
Header Information Element Identifier defining a port number structure located in
the header of the packet. This Information Element Identifier for GSM SMS or
USSD has a similar function to the Protocol Identifier in a IP based network. The
construct enables the WDP protocol to coexist with other features of the legacy
bearer network.
This brings us to the end of our description of the WAP Protocol stack. We will
now elaborate on a more specialized WAP service, the WAP Push Protocol.
67
Wireless Application Protocol EE-419 (Communication System Project Report)
The push access protocol is the protocol used for conveying content that should be
pushed to a client (using XML), and push related control information, between a
Push Initiator and a Push Proxy / Gateway.
8.1 Introduction
The WAP Push framework introduces a means within the WAP effort to transmit
information to a device without a previous user action. In the normal client/server
model, a client requests a service or information from a server, which then responds
in transmitting information to the client. This is known as “pull” technology: the
client “pulls” information from the server. The World Wide Web is a typical
example of pull technology, where a user enters a URL (the request) which is sent to
a server, and the server answers by sending a Web page (the response) to the user. In
contrast to this, there is also “push” technology, which is also based on the
client/server model, but where there is no explicit request from the client before the
server transmits its content.
Another way to say this is that whereas “pull” transactions of information are always
initiated from the client, “push” transactions are server-initiated.
A push operation in WAP occurs when a Push Initiator transmits content to a client
using either the Push Over-The-Air protocol or the Push Access Protocol. In its
simplest form, the architecture would look like this:
68
Wireless Application Protocol EE-419 (Communication System Project Report)
However, the Push Initiator shares no protocol with the WAP Client: the Push
Initiator is on the Internet, and the WAP Client is in the WAP domain. Therefore, the
Push Initiator cannot contact the WAP Client without an intermediary, so we need to
insert a translating gateway:
Thus, the Push Initiator contacts the Push Proxy Gateway (PPG) from the Internet
side, delivering content for the destination client using Internet protocols. The PPG
does what is necessary to forward the pushed content to the WAP domain, and the
content is then transmitted over-the-air in the mobile network to the destination
client. The Push Access Protocol, or PAP, uses XML messages that may be tunneled
through various well-known Internet protocols, for example HTTP.
In addition to providing simple proxy gateway services, the PPG may is capable of
notifying the Push Initiator about the final outcome of the push operation, and it may
wait for the client to accept or reject the content in two-way mobile networks. It may
also provide the Push Initiator with client capability lookup services, letting a Push
Initiator select the optimal flavor of this particular content for this particular client.
69
Wireless Application Protocol EE-419 (Communication System Project Report)
The Internet-side PPG access protocol is called the Push Access Protocol. The
WAP-side (OTA) protocol is called the Push Over-The-Air Protocol. Thus, a revised
schematic looks something like this:
The Push Proxy Gateway (PPG) is the entity that does most of the work in the Push
architecture. Its responsibilities include acting as an access point for content pushes
from the Internet to the mobile network, and everything associated therewith
(authentication, security, client control, etc). As the PPG is the entry point to a
mobile network, it is the owner of this gateway that decides the policies about who is
able to gain access to the WAP network, who is able to push content and who is not
and under which circumstances and parameters, etc.
70
Wireless Application Protocol EE-419 (Communication System Project Report)
The net result of this function is asynchronous operation from the Initiator’s point
of view (the Initiator need not wait on-line for the PPG to complete its delivery).
It is also possible for the Push Initiator to pre-compile its content into binary form,
to take workload off the PPG (or for other reasons). When the PPG receives
precompiled WML, WMLScript, or SIs, they are forwarded as received.
The Push Access Protocol (PAP) is the means by which an Internet-based Push
Initiator pushes content to a mobile network, addressing its PPG. Care has been
taken to ensure that this protocol can be tunneled through any other or future
Internet protocol in common use, although HTTP is chosen as the initially supported
carrier.
71
Wireless Application Protocol EE-419 (Communication System Project Report)
The optional capability entity contains the client capabilities that the message was
formatted for. The Push Initiator may create this entity to indicate what it thinks
the client capabilities are.
One key feature of the Push Framework is the possibility for a Push Initiator to
rely on the response from the PPG. If it cannot take that responsibility, it must
abort the operation, and the Push Initiator will know that the content never
reached its destination. There are no loopholes within the framework for false
positive delivery confirmations.
72
Wireless Application Protocol EE-419 (Communication System Project Report)
When implementing WAP Push, security and trust models come into
consideration in several areas. These are examples of questions that may arise:
Regardless of these issues, it should be kept in mind that the Push Framework is
always capable of providing the client with enough information to have a trust
model and security policy of its own.
73
Wireless Application Protocol EE-419 (Communication System Project Report)
74
Wireless Application Protocol EE-419 (Communication System Project Report)
9.2.3 Billing
The third major difference is in billing. As i-mode is based on a packet-data
(9600bps) transmission system, subscribers will be charged according to the volume
of data transmitted, not the time spent on line. With the 'always on' connection, this
method is necessary as the time spent is unlimited.
75
Wireless Application Protocol EE-419 (Communication System Project Report)
important to companies targeting younger audiences who do not have credit cards. It
also creates a smaller barrier to purchase for consumers as some product lines are
expected to sell higher volumes over the 'wireless' Internet than the 'wired' Internet.
It must be noted that i-mode is NOT the WAP killer the media has been waiting for.
To be honest, both technologies are in their infancy, and would do well to learn from
each other. While WAP and i-mode both have different specifications, WAP
specifications are being modified to to become more like it's Asian counterpart. This
is overseen by the WAP Forum, which is the industry association involving
companies from every sector of the wireless industry value chain.
Also, for now, i-mode is being used mostly in Japan, although NTT DoCoMo (which
has 20 million subscribers) hopes to move i-mode service into Britain and the rest of
Europe in the future. In doing so, NTT DoCoMo has begun to provide English
content on their i-mode cellular phones for foreigners living in Japan. I-Mode
service in the United Kingdom is expected to launch later this month.
Before it's launch, WAP was hailed as the future for mobile communication,
entertainment and commerce. The hype was massive and expectations were high.
We have now seen what it has to offer, and some are disappointed with the present
offerings. WAP has made a jump in mobile technology. We can now email, purchase
and access data on the move. Something we couldn't do a few months ago.
After the hype has died down we will realize that it is an interim technology while
we wait for the real deal. 3G (third generation) mobile Internet will be in our pocket
by 2004 realistically, when we'll be video-conferencing and playing 3D games.
The wireless industry and analysts alike believe - and more probably hope - that
more people will be accessing the Internet from their mobile phone than from their
PCs in the next few years.
They also anticipate that handsets will have the computing power of a sophisticated
laptop within the next five years and that these devices will be used for nearly all our
communication and information needs.
But aside from this wistful dreaming of a bright technological future, it is important
for the industry to realize that above all other considerations, managing the
consumer's expectations is foremost among them.
If the end user fails to see the benefit of WAP they will quickly ditch it in favor of
something more appropriate to their needs and desires.
10. References
[1] Wireless Application Protocol Architecture Specification, URL:
www.wapforum.org
76
Wireless Application Protocol EE-419 (Communication System Project Report)
[2] WAP – a study of the concept for mobile service provisioning, a thesis by
Mattias Andersson & Kim Bergström.
77