991 likes | 3.7k Views
Wireless Telephony Application. By Yamini Patri CS486-Global Knowledge Networks. Outline. Introduction to WTA WTA Architecture Security Aspects Interface Libraries WTA Specific Components Examples. WTA(Wireless Telephony Application).
E N D
Wireless Telephony Application By Yamini Patri CS486-Global Knowledge Networks
Outline • Introduction to WTA • WTA Architecture • Security Aspects • Interface Libraries • WTA Specific Components • Examples
WTA(Wireless Telephony Application) • Provides a framework for converging wireless data and voice capabilities. • Provides a programming interface to telephones for initiating calls, sending text messages, and other networking capability. • Allows incoming and outgoing calls to be handled within WML and WMLScript
WTA continued... • Permits trusted parties such as network operators to deploy combined voice call and Internet services in an easily programmable way, in conjunction with a network WTA server
WTA Architecture The main components of WTA architecture are: • WTA User agent • WTA Server • WTA Interface(WTAI) Libraries • A persistent storage or ‘Repository’
Typical components of WTA Architecture Direct Interface Default Man machine Interface OR Human Computer Interface Network Layer (Call Control, Network Text etc) WTA Server under operator’s Control WTAI Libraries WTA User Agent Mobile Phone Network Http based Interface over an IP Network Operator provided WAP Gateway WAP Protocol Stack & Interface WAP(WSP/WTP/WDP/ WTLS) Interface Repository (Persistent Storage) Device Specific Features
WTA User Agent • Executes and presents WML and WMLScript content to the user • It is almost similar to a WAE user agent • It differs from the WAE user agent by having a very rigid and real-time context management component
WTA Server • A WTA Server hosts WTA content and services • WTA server is considered as a ‘Trusted Content Server’ by the network operator
WTA Security Telephony services have a stronger requirement for security than other wireless services Some suggested measures are: • WTA user agent uses secure WDP port on the WAP gateway for the WSP sessions • WAP should ensure a secure link between itself and WTA server • User should specify permissions for execution of different WTAI library functions
WTA Security(continued) • In order to an provide acceptable level of security • The mobile network operator should have administrative control over the WTA server or has a trust relationship with the WTA server provider • The mobile network operator controls or has a trust relationship with the provider of a WAP gateway that is used by its subscribers
User Permission Types • Blanket Permission - Permission is given by the user to the executable for the specified WTAI library function and for all subsequent WTAI functions called the executable uses this permission • Context Permission - Permission is given to the executable for the specified WTAI function during specific runtime context • Single Action Permission - Single permission is given to the executable for the specified WTAI function for each action
Initiation of WTA Services The WTA services can be initiated by the following ways: • The user can initiate access by selecting URL whose content is hosted on the WTA server • Via push content over a secure WTA session • A WTA event triggering an event handler
WTAI(Wireless Telephony Application Interface) • Specifies how WAP applications can access mobile phone functionality
WTA Libraries The WTAI features are partitioned into a collection of WTA function libraries. These function libraries are accessible from: • WML using URLs • WMLScript using scripting function libraries These functions may initiate interaction between the mobile and network and terminate independently from the started network procedure
WTAI Function Libraries • Network Common WTAI - The most common features available in all networks. These are only accessible to the user agent • Network Specific WTAI - Features that are available only in certain types of networks. Operator specific features may also reside in this set • Public WTAI - Simple features that are available to third patty applications executing using the standard WAE user agent
Calling WTAI Functions • URI Scheme The URI scheme used to access WTAI functions begins with wtai:// and the generic syntax is as follows: wtai://<library>/<function>;<parameter>![<result>]; [<result>] where <library> : Name of the library <function> : Identifier of the specific function of the library <parameter>: The parameters of the function. One or more can be included se[arated by semi-colons <result> : Zero or more return values can be specified delimited by semi-colons, square brackets signify optional value and ‘!’ is required only if the return value is specified
Calling WTAI Functions(cotd) • WMLScript Syntax • When calling a function using WMLScript each library is identified by a name that is different from the one used when calling the function using a URI in a WML deck.
Public WTAI Functions There are currently three functions in the public library: • Make a call • Send DTMF tones • Add a phone book entry
Make a Call • This function is used to initiate a call from a mobile device using a specified phone number • The make call function can be used from within any application
Make a Call(continued..) • The URI form of make call is as follows: wtai://wp/mc;<number>[!<result>] eg : wtai://wp/mc;<84387438> • The WMLScript form of the function: makeCall(number) eg : var retcode = WTAPublic.makeCall(“75984378”) where <number> = String(Destination number to call) <result> = Integer(Zero on success and negative on failure)
Send DTMF Tones This function is used to send tones corresponding to certain characters through an interactive voice connection. The user must implicitly or explicitly acknowledge the operation
Send DTMF Tones(continued) • The URI form of sending DTMF tones is as follows: wtai://wp/sd;<dtmf>;[!<result>] eg: wtai://wp/sd;555*1234 • The WMLScript form looks as follows: sendDTMF(dtmf) eg : var retcode = WTAPublic.sendDTMF(555*1234) where <dtmf> = String(Any valid sequence of valid DTMF characters) <result> = Integer(Zero on success and negative on failure)
Add a Phone Book Entry • Adds a new entry to the phone book to the next available entry • The URI form looks as follows: wtai://wp/ap;<number>;<name>[!<result>] eg:wtai://wp/ap;+914673244;GENE!retcode • The WMLScript looks as follows: addPBEntry(number,name) eg:var retcode = WTAPublic.addPBEntry(“+759474”,”GENE”)
Network Common WTAI • Functions defined in this library apply to all types of mobile networks that support WAP • All phones implementing WTA are required to implement this class of libraries • Only the content originating from a trusted server can make calls to the functions defined in this library
Network Events • The network common WTAI has many network originating telephony events for which WTA events are defined • Whenever a network event occurs it is the responsibility of the WAP/WTA implementation to deliver the event to the use agent • If no event handling is defined then the network event is handled by the default Human Computer Interface of the phone • Only a user agent can receive and react to telephony and network events, a WAE user agent cannot do this
Network common WTAI Function Libraries • Voice Call Control Library • Network Text • Phone Book • Call Logs • Miscellaneous
Voice Call Control Library • This library contains a total of six functions to handle commonly available voice call control functionality • Its name is ‘vc’ in the URI form and WTAVoiceCall as part of WMLScript • It includes functions for setting up a new call, accepting a call, releasing a call, send DTMF tones, check call status and list calls • An example of its application is for routing calls through a switchboard automatically
Network Text Library • This library provides functions to send and receive network text messages • The URI form is unavailable in this library • These functions are available only from WMLScript functions defined in the library ‘WTANetText’ • Functions provided include ‘Send Text’, ‘Read Text’, ‘Remove Text’, ‘GetFieldValue’
Phonebook Library • This library provides functions that store, retrieve or search for entries in the default phone book • The URI form of functions are not available • The WMLScript library name is WTAPhoneBook and the associated functions are: 1. write() - writes a new entry into the phone book 2. read() - returns the phone book entries 3. remove() - removes a phone book entry 4. getFieldValue() - retrieves value from a string identified by a field 5. change() - update entries in a phone book
Call Logs Library • The Call Logs library provides functions to read logs for phone calls made, received and missed • The URI form of this function is not available • The WMLScript library is called ‘WTACallLog’ and includes the following functions: 1. dialled() - returns entries from ‘last dialled calls’ logs 2. missed() - returns entries from ‘missed calls’ logs 3. received() - returns entries from ‘received calls’ logs 4. getFieldValue() - retrieves value from a string identified by a field
Miscellaneous Library • Defines various utility functions used with the WTA user agent • Only the WMLScript library is defines and is called ‘WTAMisc’ • Functions include: 1. indication() - controls turning on/off the indication of the occurrence of various functionalities 2. Endcontext() - terminates context for the user agent 3. Protected() - allows us to control whether or not WTA can be interrupted during an operation
Network Specific WTAI • Apart from common set of WTAI libraries, there are some mobile phone network specific type libraries • Currently libraries are defines for GSM, IS136 and PDC(Japan) • Each one of these define functions that carry out actions specific to the type of network
WTA State Model • The WTA user agent is a telephony capable extension of the standard WAE user agent • WTA utilizes one or more WSP sessions over a dedicated WTA port(WDP) and the same state model as in WML
WTA State Model(continued) • WTA state model is an extension of the standard WAE model in handling user-agent specific elements such as: • Call state management, which defines how an ongoing call should be handled when the user agent context is terminated • Content repository • A framework for handling WTA network events and managing parameters associated with the events
Call State Management • WTA includes support for managing the call state associated with a call established in context of a WTA service using the WTAI interface • The content author of the WTA service can set the mode of the call state management to one of the modes given below: • DROP(mode value 0) - indicates that the call state is tightly • coupled with the WTA context • KEEP(mode value 1) - indicates no coupling between call • state and the WTA context in which the call was established
Repository • The repository is used to store WTA content persistently • This provides a mechanism that ensures timely handling of content related to WTA services(e.g.: WTA Services initiated by WTA events • Eliminates the need for network access when loading and executing frequently used WTA services
Characteristics • Contains a set of channels and resources • Resources are data that have been downloaded with WSP and are stored along with their meta-data • A channel is a resource that contains a set of links to resources • Channels in the repository have freshness lifetime, beyond which they are considered to be stale and are subject to automatic removal by the user-agent • If a channel that is not stale is present in the repository then the repository contains all resources named in that channel • A label may be associated with a channel to give a textual description of the service provided
Logical Representation of the Repository Repository Channel#2 Channel#1 WML Deck#1 WML Deck#2 WML Deck#3 WML Deck#4 Resources
Programming the Repository • A separate ‘Channel Content Format’ has been defined in order to program the repository with the channels and resources • A document in the above format is called ‘Channel Document’ and is defined using a language called ‘Channel’ • To store the content identified by resources in the repository the channel document should be delivered to the WTA user agent
Programming the Repository(cotd) • The delivery of the channel document could be done in the following ways: • Pushing the channel document to the mobile phone using the push framework • The operator can advertise the URL for a WML deck that is hosted on the WTA server, which contains a list of channels that could be downloaded • Once the channel document is made available to the WTA server agent. The responsibility of downloading all the resources and storing them lies on the WTA user agent
Channel Content Format • 1. Document Identifiers(yet to be registered with the IANA) • SGML Public Identifier • Channel Media Type • 2. The Channel Element • The channel element specifies a set of resources to be stored in • the repository and defines the following attributes: • maxspace - specifies the maximum memory in bytes • base - specifies the base URL for the contents of the • channel • success - specifies the URL that must be requested • upon completion of channel resource allocation • failure - specifies the URL that must be requested when • a failure has been detected • EventID - specifies the identity of the channel
Channel Content Format • 3. The Title Element - Specifies a short human-readable title for • the channel. • 4. The Abstract Element - Specifies human-readable description • of the channel and is optional • 5. Resource Element Specifies a resource that is contained in • a channel and has the following attributes: • href - Specifies the location of the resource • lastmod - Specifies the Last-Modifies time of the current • resource in the origin server • etag - Specifies the entity tag of the current source in the • origin server • md5 - Specifies the MD5 digest of the current resource • in the origin server
Example of Channel Document Content-Type: text/vnd.wap.channel <?xml version="1.0"> <!DOCTYPE channel PUBLIC "-//WAPFORUM//DTD CHANNEL 1.0//EN" channel_1.0.dtd> <channel maxspace="2048" base="http://wta.operator.com/" EventId="wtaev-cc/ic" success="success.wml" failure="failure.wml">
Example continued <title> IncomingCall </title> <abstract> Incoming Call Selection Service </abstract> <resource href="incoming.wml" lastmod="957118708” etag="000002" md5="4gV5V2/b0qg+BsZRydnWEw==" /> <resource href="operatorlogo.wbmp" lastmod="957118801" etag="000001" md5="Q2hlY2sgSW50ZWdyaXR5IQ==" /> <resource href="script.wmls" lastmod="957118618" etag="0000010" md5="d2kljsdf+8jknsu6qweipw==" /> </channel>
Event Handling • The WTA user-agent can be programmed to take certain actions when receiving a specific WTA event • The WTA user-agent can respond to a WTA event using two different methods: 1. Global Bindings: The repository may institute a binding between WTA event and a service. When the event occurs the corresponding service is initiated 2. Temporary Bindings: Overrides any other event bindings and makes it possible to execute a service using an existing WTA context
Interruption of WTA context • If a WTA event is detected while an active WTA context exists, the user agent must determine whether to interrupt the current user agent activity in order to execute event handler
Examples of WTA Services • 1. Extended set of user options for handling incoming calls • Service starts when an incoming call is detected in the client • A menu with the following options appears: • Accept call • Redirect to voice mail • Redirect to another subscriber • Send special message to caller • 2. Voice mail • The user is notified when there is voice mail and the list is • retrieved from the server • 3. Call subscriber from message list log • The user can call the originator from the log list Examples of WTA services include:
References 1. http://www1.wapforum.org/tech/documents/SPEC-WTA- 19991108.pdf 2. http://www1.wapforum.org/tech/documents/ wtai-is-136-30-apr-98.pdf 3. http://www1.wapforum.org/tech/documents/SPEC-WAPArch- 19980430.pdf 4. http://www1.wapforum.org/tech/documents/SPEC- WAEOverview-19991104.pdf 5. Professional WAP by WROX Publications