NNN Intera ctive< /TITLE > Wireless network WAP Enter name: Content encoding 010011 110110 010011 011101 010010 011010 © 1999 Wireless Application Protocol Forum, Ltd.
WHY WAP ? z Good relationships with standards l Several Liaisons with ETSI l ETSI / WAP compliance profile for GSM and UMTS. l CTIA official Liaison Officer to the WAP Forum l WAP is actively working with the W 3 C and IETF l HTML-NG (HTML Next Generation) l HTTP-NG (HTML Next Generation) © 1999 Wireless Application Protocol Forum, Ltd.
Architecture Group Current Work z End-to-end security z Billing z Asynchronous Applications z Bearer selection z Gateway switching z PUSH Architecture z Persistence Definition z Meeting format changes © 1999 Wireless Application Protocol Forum, Ltd.
WAP Application Environment WML and WMLScript Wireless Telephony Architecture Content Formats Push User Agent Profile
WAE Goals z Network-neutral application environment; z For narrowband wireless devices; z With an Internet/WWW programming model; z And a high degree of interoperability. © 1999 Wireless Application Protocol Forum, Ltd.
WAE Requirements z Leverage WSP and WTP z Leverage Internet standard technology z Device Independent z Network Independent z International Support © 1999 Wireless Application Protocol Forum, Ltd.
Requirements (cont. ) z Vendor-controlled MMI z Initial focus on phones l Slow bearers l Small memory l Limited CPU l Small screen l Limited input model © 1999 Wireless Application Protocol Forum, Ltd.
WAE First Generation z Architecture l Application model l Browser, Gateway, Content Server z WML l Display language z WMLScript l Scripting language z WTA l Telephony services API and architecture z Content Formats l Data exchange © 1999 Wireless Application Protocol Forum, Ltd.
WML Second Generation z Extensions and enhancements l Currently under development z User Agent Profiling l Content customized for device z Push Model l Network-initiated content delivery z Performance Enhancements l Caching, etc. © 1999 Wireless Application Protocol Forum, Ltd.
WAE Abstract Network Architecture WSP/HTTP Request {URL} Client Gateway Network Application WSP/HTTP Reply {Content} © 1999 Wireless Application Protocol Forum, Ltd.
Network Example #1: WAP Gateway WMLScript WTAI Etc. Web Server WML Encoder WSP/WTP WMLScript Compiler HTTP Protocol Adapters © 1999 Wireless Application Protocol Forum, Ltd. CGI Scripts etc. Content WML Decks with WML-Script Client
Network Example #2: WAP Application Server Client WMLScript WTAI WML Encoder WSP/WTP WMLScript Compiler Protocol Adapters Etc. © 1999 Wireless Application Protocol Forum, Ltd. Application Logic Content WML Decks with WML-Script WAP Application Server
WML z Tag-based browsing language: l Screen management (text, images) l Data input (text, selection lists, etc. ) l Hyperlinks & navigation support z W 3 C XML-based language z Inherits technology from HDML and HTML © 1999 Wireless Application Protocol Forum, Ltd.
WML (cont. ) z Card metaphor l User interactions are split into cards l Navigation occurs between cards z Explicit inter-card navigation model l Hyperlinks l UI Event handling l History z State management and variables l Reduce network traffic l Results in better caching © 1999 Wireless Application Protocol Forum, Ltd.
All decks must contain. . . z Document prologue l XML & document type declaration z element l Must contain one or more cards xml version="1. 0"? > . . . © 1999 Wireless Application Protocol Forum, Ltd.
Acme" src="https://present5.com/presentation/ac353db174736646d3bb8608d0dd3cb9/image-24.jpg" alt="A Deck of Cards Acme" />
A Deck of Cards Acme Inc.
Directory Services © 1999 Wireless Application Protocol Forum, Ltd. Acme Inc. Directory _______ Next Services 1>Email 2 Phone ______ OK
Example: Input Activity First Name: Back Last Name: Jane_ ______ Next Doe_ ______ Done Accept Prev © 1999 Wireless Application Protocol Forum, Ltd. Query Deck
The DO Element z Binds a task to a user action l Action type: ACCEPT, OPTIONS, HELP PREV, DELETE, RESET l Label: Text string or image (optional) l Task: GO PREV, REFRESH, NOOP l Destination: URL l Post data: if METHOD=POST © 1999 Wireless Application Protocol Forum, Ltd.
Anchored Links z Bind a task to the ACCEPT action, when cursor points to a link l TITLE= sets the label string (default = “Link”) l Links are not allowed in select list options Please visit our home page for details. © 1999 Wireless Application Protocol Forum, Ltd. Please visit our home page for ______ Visit
Task Binding Rules z User actions are scoped at three levels • Deck • Card • Anchored links & select list options (ACCEPT) l When tasks are bound to an action at different levels, the action with narrower scope takes precedence z Default task bindings User Action Task ACCEPT, PREV Others NOOP PREV © 1999 Wireless Application Protocol Forum, Ltd.
The TEMPLATE Element z Defines actions & events for all cards in a deck First story Second story © 1999 Wireless Application Protocol Forum, Ltd. First story … _______ Next Main Second story. . . _______ OK Main
Handling User Input z Select lists l Choose from a list of options z Input fields l Enter a string of text or numbers z KEY variables l Set by SELECT and INPUT elements l How user input is passed to other cards and the application server © 1999 Wireless Application Protocol Forum, Ltd.
The SELECT Element z Display a list of options l Each option may set the KEY variable and/or bind a task to the ACCEPT key l TITLE= dynamically sets the label string Forecast © 1999 Wireless Application Protocol Forum, Ltd. Forecast 1 Berlin 2 Rome 3>New City ______ Find City
Other SELECT Attributes z MULTIPLE="TRUE" l Allows user to pick multiple items l UP. Browser reserves soft key for item-picker l Key value is a semicolon-separated list z DEFAULT=key_value l Default KEY value, if one is not chosen l Sets cursor to the default choice entry, if a corresponding OPTION / VALUE exists © 1999 Wireless Application Protocol Forum, Ltd.
Addr [1." src="https://present5.com/presentation/ac353db174736646d3bb8608d0dd3cb9/image-34.jpg" alt="A Long Select List Addr [1." />
A Long Select List Addr [1. . 9] © 1999 Wireless Application Protocol Forum, Ltd.
Other INPUT Attributes z DEFAULT=key_value l Default KEY variable (displayed to user) z FORMAT=format_specifier l If omitted, free-form entry is allowed z EMPTYOK="TRUE" l Browser will accept null input, even with format z TYPE="PASSWORD" l Special entry mode handled by the browser z MAXLENGTH=number l Maximum number of allowed characters © 1999 Wireless Application Protocol Forum, Ltd.
FORMAT Control Characters l N Numeric character l A, a Alphabetic character l X, x Numeric or alphabetic character l M, m Any character z Leading backslash specifies forced characters l Forced characters included in KEY variable value z Leading * specifies 0 or more characters l Password: FORMAT=“mmmm*m” z Leading number specifies 0. . N characters l Zipcode: FORMAT=“NNNNN-4 N” © 1999 Wireless Application Protocol Forum, Ltd.
Special WML Characters z Use character entities in display text " & ' < > " & ' < > Blank space Soft hyphen (discretionary line break) z Replace the “&” character in URL strings URL="query. cgi? first=$fname& last=$lname" z Use “$$” to display a single “$” character © 1999 Wireless Application Protocol Forum, Ltd.
Doing more with WML z Setting card styles to create forms z Using variables to cache user data z Using card intrinsic events to trigger transparent tasks z Using timers z Securing WML decks z Bookmarking decks © 1999 Wireless Application Protocol Forum, Ltd.
WMLScript z Scripting language: l Procedural logic, loops, conditionals, etc. l Optimized for small-memory, small-cpu devices z Derived from Java. Script™ z Integrated with WML l Powerful extension mechanism l Reduces overall network traffic © 1999 Wireless Application Protocol Forum, Ltd.
WMLScript (cont. ) z Bytecode-based virtual machine l Stack-oriented design l ROM-able l Designed for simple, low-impact implementation z Compiler in network l Better network bandwidth use l Better use of terminal memory/cpu. © 1999 Wireless Application Protocol Forum, Ltd.
WMLScript Standard Libraries z Lang - VM constants, general-purpose math functionality, etc. z String - string processing functions z URL - URL processing z Browser - WML browser interface z Dialog - simple user interface z Float - floating point functions © 1999 Wireless Application Protocol Forum, Ltd.
WMLScript Example Uses z Reduce network round-trips and enhance functionality. z Field validation l Check formatting, input ranges, etc. z Device extensions l Access device or vendor-specific API z Conditional logic l Download intelligence into the device © 1999 Wireless Application Protocol Forum, Ltd.
WMLScript Example WMLScript is very similar to Java. Script Functions Variables Programming Constructs function currency. Convertor(currency, exch. Rate) { return currency*exchange. Rate; } function my. Day(sun. Shines) { var my. Day; if (sun. Shines) { my. Day = “Good”; } else { my. Day = “Not so good”; }; return my. Day; } © 1999 Wireless Application Protocol Forum, Ltd.
WTA z Tools for building telephony applications z Designed primarily for: l Network Operators / Carriers l Equipment Vendors z Network security and reliability a major consideration © 1999 Wireless Application Protocol Forum, Ltd.
WTA (cont. ) z WTA Browser l Extensions added to standard WML/WMLScript browser l Exposes additional API (WTAI) z WTAI includes: l Call control l Network text messaging l Phone book interface l Indicator control l Event processing © 1999 Wireless Application Protocol Forum, Ltd.
WTA (cont. ) z Network model for client/server interaction l Event signaling l Client requests to server z Security model: segregation l Separate WTA browser l Separate WTA port z WTAI available in WML & WMLScript © 1999 Wireless Application Protocol Forum, Ltd.
WTA Example Placing an outgoing call with WTAI: WTAI Call function check. Number(N) { if (Lang. is. Int(N)) WTAI. make. Call(N); else Dialog. alert(“Bad phone number”); } © 1999 Wireless Application Protocol Forum, Ltd.
Content Formats z Common interchange formats z Promoting interoperability z Formats: l Business cards: IMC v. Card standard l Calendar: IMC v. Calendar standard l Images: WBMP (Wireless Bit. Ma. P) l Compiled WML, WMLScript © 1999 Wireless Application Protocol Forum, Ltd.
Content Format Example Use of an Image: Image Element Hello World!
© 1999 Wireless Application Protocol Forum, Ltd.
Push z Push is under development z Network-push of content l Alerts or service indications l Pre-caching of data z Goals: l Extensibility and simplicity l Build upon WAP 1. 0 l End-to-end solution l Security l User friendly © 1999 Wireless Application Protocol Forum, Ltd.
User Agent Profiles (UAProf) z UAProf is under development z Goal: content personalization, based upon: l Device characteristics, user preferences l Other profile information z Working with W 3 C on CC/PP l RDF-based content format l Describes “capability and profile” info z Efficient transport over wireless links, caching, etc. © 1999 Wireless Application Protocol Forum, Ltd.
WAE Technical Collaboration z W 3 C l White paper published l Technical collaboration l CC/PP l HTML-NG l HTTP-NG l Etc. z ETSI/MEx. E z Others coming soon © 1999 Wireless Application Protocol Forum, Ltd.
Summary: WAE Status z First generation released l Implementations are in progress l Specifications include: l WAE, WMLScript l WBMP, WTAI, etc. z Second generation in development l Focusing on: l Push, Interoperability, UAProf l Telephony, Internationalization, etc. © 1999 Wireless Application Protocol Forum, Ltd.
Wireless Transport Protocols Wireless Session Protocol Wireless Transaction Protocol Wireless Datagram Protocol
WAP Protocol Layers Wireless Session Service Access Point Wireless Session Protocol Wireless Transaction Service Access Point Wireless Transaction Protocol Transport Service Access Point (TSAP) Wireless Datagram Protocol WCMP Bearer Service D C Service B A Physical Layer Air Link Technology © 1999 Wireless Application Protocol Forum, Ltd.
WAP Transport Services z WSP is the Session Layer Protocol z WTP is the Transaction-Oriented protocol z WDP is the Datagram protocol © 1999 Wireless Application Protocol Forum, Ltd.
WSP Overview z Provides shared state between client and server used to optimize content transfer z Provides semantics and mechanisms based on HTTP 1. 1 z Enhancements for WAE, wireless networks and “low-end” devices l Compact encoding l Push l Efficient negotiation © 1999 Wireless Application Protocol Forum, Ltd.
Capabilities z Capabilities are defined for: l Message Size, client and server l Protocol Options: Confirmed Push Facility, Session Suspend Facility, Acknowledgement headers l Maximum Outstanding Requests l Extended Methods l Header Code Pages © 1999 Wireless Application Protocol Forum, Ltd.
Suspend and Resume z Server knows when client can accept a push z Multi-bearer devices z Dynamic addressing z Allows the release of underlying bearer resources © 1999 Wireless Application Protocol Forum, Ltd.
Connection And Connectionless Modes z Connection-mode l Long-lived communication l Benefits of the session state l Reliability z Connectionless l Stateless applications l No session creation overhead l No reliability overhead © 1999 Wireless Application Protocol Forum, Ltd.
Wireless Transaction Protocol z Purpose: l Provide efficient request/reply based transport mechanism suitable for devices with limited resources over networks with low to medium bandwidth. z Advantages: l Operator Perspective - Load more subscribers on the same network due to reduced bandwidth utilization. l Individual User - Performance is improved and cost is reduced. © 1999 Wireless Application Protocol Forum, Ltd.
WTP Services and Protocols z WTP (Transaction) l provides reliable data transfer based on request/reply paradigm l no explicit connection setup or tear down l data carried in first packet of protocol exchange l seeks to reduce 3 -way handshake on initial request l supports • • • retransmission of lost packets selective-retransmission segmentation / re-assembly port number addressing (UDP ports numbers) flow control l message oriented (not stream) l supports an Abort function for outstanding requests l supports concatenation Wireless Application Protocol Forum, Ltd. © 1999 of PDUs
WDP Services and Protocols z WDP (Datagram) l provides a connection-less, unreliable datagram service l WDP is replaced by UDP when used over an IP network layer. l WDP over IP is UDP/IP l uses the Service Primitive l T-Unit. Data. req. ind © 1999 Wireless Application Protocol Forum, Ltd.
Bearers z Bearers currently supported by WAP • GSM SMS, USSD, C-S Data, GPRS • IS-136 R-Data, C-S Data, Packet • CDMA SMS, C-S Data • PDC C-S Data, Packet • PHS C-S Data • CDPD • i. DEN SMS, C-S Data, Packet • FLEX and Re. FLEX • Data. TAC © 1999 Wireless Application Protocol Forum, Ltd.
Service, Protocol, and Bearer Example WAP Over GSM Circuit-Switched WAP Proxy/Server Mobile WAE WSP IWF ISP/RAS WAE Apps on Other Servers WSP WTP UDP IP IP PPP CSD-RF IP PSTN Subnetwork Circuit Subnetwork PPP CSDRF PSTN Circuit RAS - Remote Access Server IWF - Inter. Working Function © 1999 Wireless Application Protocol Forum, Ltd.
Service, Protocol, and Bearer Example WAP Over GSM Short Message Service WAP Proxy/Server Mobile WAE Apps on other servers WSP SMSC WTP WDP SMS WDP Tunnel Protocol Subnetwork under development © 1999 Wireless Application Protocol Forum, Ltd.
WAP Security WTLS Services & Characteristics
WSG Work Area z Provide mechanisms for secure transfer of content, to allow for applications needing privacy, identification, verified message integrity and non-repudiation z Transport level security is WTLS, based on SSL and TLS from the Internet community z Working on various mechanisms for improved end-to-end security and application-level security © 1999 Wireless Application Protocol Forum, Ltd.
WTLS Services and Characteristics z Specifies a framework for secure connections, using protocol elements from common Internet security protocols like SSL and TLS. z Provides security facilities for encryption, strong authentication, integrity, and key management z Compliance with regulations on the use of cryptographic algorithms and key lengths in different countries z Provides end-to-end security between protocol end points © 1999 Wireless Application Protocol Forum, Ltd.
WTLS Services and Characteristics l Provides connection security for two communicating applications l privacy (encryption) l data integrity (MACs) l authentication (public-key and symmetric) l Lightweight and efficient protocol with respect to bandwidth, memory and processing power l Employs special adapted mechanisms for wireless usage l Long lived secure sessions l Optimised handshake procedures l Provides simple data reliability for operation over datagram bearers © 1999 Wireless Application Protocol Forum, Ltd.
Goals and Requirements for WTLS z Interoperable protocols z Scalability to allow large scale application deployment z First class security level z Support for public-key certificates z Support for WAP transport protocols © 1999 Wireless Application Protocol Forum, Ltd.
WTLS Internal Architecture Transaction Protocol (WTP) WTLS Handshake Protocol Alert Protocol Application Protocol Record Protocol protocol Record Datagram Protocol (WDP/UDP) Bearer networks © 1999 Wireless Application Protocol Forum, Ltd. Change Cipher Spec Protocol
Current Work Items z Integrating Smart Cards for security functions l Wireless Identity Module specification will integrate Smart Cards into the security framework of WAP l Uses Smart Card for storage of security parameters, as well as performing security functions © 1999 Wireless Application Protocol Forum, Ltd.
Current Work Items z Providing a scalable framework for Client Identification l Public Key Infrastructure for provisioning and management of certificates l Simpler mechanisms for clients that do not support certificates © 1999 Wireless Application Protocol Forum, Ltd.
Wireless Interoperability Group
WIG Mission statement “To ensure that WAP products are conformant to WAP specs and interwork with each other. ” © 1999 Wireless Application Protocol Forum, Ltd.
WIG Scope z Create test documentation for l static conformance l dynamic conformance l interoperability z Define product certification process l labeling l testhouse - type of process © 1999 Wireless Application Protocol Forum, Ltd.
WIG Status z Static conformance l Static Conformance Clauses, defines check lists for a particular device class z Dynamic conformance testing l Short term l Test suites for interoperability testing l Long term l Test suites and tools for conformance testing l Test house-like process © 1999 Wireless Application Protocol Forum, Ltd.
SMS Expert Group WDP Tunnel Specification
WDP TUNNEL Specification WAP context © 1999 Wireless Application Protocol Forum, Ltd.
WDP TUNNEL Specification Scope z To provide a flexible, high performing platform and network z independent solution for the provision of non-IP mobile network z oriented WDP transport services between WAP proxy/servers and z Wireless Gateways (such as SMS-centers). © 1999 Wireless Application Protocol Forum, Ltd.
WDP TUNNEL specification Justification Current situation z No single industry standard for (short) message entry; z Existing protocols are application oriented and geared towards message centre functionality's; Desired situation z Vendor-neutral industry standard for WAP related message centre access; z Support WAP where no (end-toend) IP bearer available z Bearer interfaces of WAP proxy/server not clear; z Optimised protocol for WAP datagrams; z Difficult productizing and certification process for proxy/servers; z Clear Proxy/Server Bearer interface; z Increased cost of ownership; z Proxy/server market fragmentation z Facilitates productizing and certification of proxy/server solutions; z Reduced cost of ownership © 1999 Wireless Application Protocol Forum, Ltd. z Open proxy/server market
Thank You !
Discussion and Q&A Cindy Dahm cindy@corp. phone. com Natasha Flaherty natasha@corp. phone. com