mobile computing through telephony

65
MOBILE COMPUTING THROUGH TELEPHONY Prakash Patil B.V.B College of Engg, & Tech, Hubli

Upload: prakash-patil

Post on 26-Dec-2014

1.049 views

Category:

Documents


15 download

TRANSCRIPT

Page 1: Mobile Computing through Telephony

MOBILE COMPUTING THROUGH TELEPHONYPrakash Patil

B.V.B College of Engg, & Tech, Hubli

Page 2: Mobile Computing through Telephony

Evolution of Telephony

First telephone system developed by Alexandra Graham Bell.

Allowed two way voice communication between two individuals in two locations on either side of a wire,

Calling Party - A person who make a call Called party – A person who responds to the call During analog telephony, the purpose of

interconnecting two subscribers was to establish a physical connection between their respective telephone devices.

Page 3: Mobile Computing through Telephony

Evolution of Telephony

In early days, each telephone was connected to a central place – the exchange

From exchange the operator would manually connect to another subscriber.

Billing information was maintained manually. Trunk Call - Call some one connected to

other exchange – The call would have to be set up with a whole chain of operators, each one calling the next and so on.

Page 4: Mobile Computing through Telephony

Evolution of Telephony

1890 – development of the first automatic telephone exchange- called “Stronger Switch” after its originator Almon B Strowger.

1982 – First version of automatic exchange was installed to eliminate the human intervention.

1912- Swedish engineer Gotthief patented an automatic switching system based on a Grid – Electromechanical and called crossbar exchange.

Page 5: Mobile Computing through Telephony

Evolution of Telephony

1960 – Electronic Switching System (ESS) was developed at AT & T labs.

1962 – Carrier system was made digital. 1976 – Bell labs developed 4ESS toll

switch for the long distance voice network (First Digital Circuit Switch)

1960-70s: Telephone exchanges controlled by processors and software.

1962 – Carrier System was made digital

Page 6: Mobile Computing through Telephony

Pulse Code Modulation (PCM) Used for Digital Modulation Audio Voice – 0-4 KHz. Measured amplitude converted to number

(Quantization process) i.e, represented by 8 bits.

Snapshot of voice signal amplitude is taken at 1/8000th of Second (Double the frequency of 4KHz)

1962- Bell lab introduced digital transmission using PCM

Page 7: Mobile Computing through Telephony

Manual Exchange

Manual Exchange – operator intelligence was the control system

An operator, alerted to an incoming call Listen to and remember desired number Finds the right way to connect the callers line to

the line being called Check if the desired line is free Makes the connection Note down the call details, time of call, duration

of call, calling number and called number.

Page 8: Mobile Computing through Telephony

Automated Exchange

Indicates the progress of the call to the caller

A series of distinct tones were generated by machine called Ring Generator

Dial Tone (DT) – Signal applied to the line after calling party has lifted his handset.

Busy Tone(BT) – Indicate route to called subscriber is congested is OFF Hook.

Ring Tone – Tone generated after circuit is established between 02 parties.

Page 9: Mobile Computing through Telephony

PSTN- Public Switched Telephone System

Normal Telephone System Also called – End Office or Local Access

Tandem Local Exchange – used for the connection

of subscriber Transit Exchanges – Switch traffic between

within and different geographical areas. Local loop: A physical cable laid from the

local exchange to the telephone device at each subscriber place – Called Last mile link.

Page 10: Mobile Computing through Telephony

Multiple Access Procedures

In PSTN- A separate wire is used to connect the subscribers telephone with switch.

Multiple users can have speech communication at the same time without causing any interference to each other.

Unless we control the simultaneous access of radio channel by users a collision can occur.

Connection oriented communication the collision is undesirable.

Page 11: Mobile Computing through Telephony

Multiple Access Procedures

Every mobile subscriber must be assigned a dedicated channel on demand.

Achieved using different multiplexing techniques. FDMA- Frequency Division Multiple Access TDMA- Time Division Multiple Access CDMA- Code Division Multiple Access SDMA- Space Division Multiple Access

Page 12: Mobile Computing through Telephony

Multiple Access Procedures

Page 13: Mobile Computing through Telephony

FDMA- Frequency Division Multiple Access

One of the most common Multiplexing Procedures.

Available frequency band is divided into channels of equal bandwidth

Each communication carried on different frequency.

Used in all First generation analog mobile networks like AMPS (Adv. Mobile Phone System) in USA and TACS (Total Access Communication System in UK)

Page 14: Mobile Computing through Telephony

TDMA- Time Division Multiple Access

More expensive technique compared to FDMA Needs precise synchronization between

transmitter and receiver. Used in Digital Mobile Communication Whole frequency BW divided into sub-bands

using FDMA technique. TDMA is used in each of these sub-bands to

offer multiple access. GSM uses such a combination of FDMA and

TDMA

Page 15: Mobile Computing through Telephony

CDMA- Code Division Multiple Access

Broad band system Uses spread spectrum technique where

each subscriber uses whole system bandwidth

All subscribers in a cell use the same frequency band simultaneously.

To separate the signal , each subscriber is assigned an orthogonal code called ‘CHIP’

Page 16: Mobile Computing through Telephony

SDMA- Space Division Multiple Access

Make use of space effectively Use different part of the space for multiplexing Used in radio transmission and more useful in

satellite communications to optimize the use of radio spectrum by using the directional properties of antennas.

In SDMA, antennas are highly directional, allowing duplicate frequencies to be used at the same time for the multiple surface zones on earth.

Requires careful choice of zones for each transmitter and also requires precise antenna alignment.

Page 17: Mobile Computing through Telephony

Mobile Computing through Telephone

Accessing applications and services through voice interface

Referred as Computer Telephony Interface (CTI)

Ex. Telephone Banking Application Input - a telephone Keyboard Output – Synthesized voice

Page 18: Mobile Computing through Telephony

Mobile Computing through Telephone

Toll Free Service – Only one number is published

Number is not attached to any exchange or specific city

Advantages User remember only one number Call same numbers from anywhere Numbers are generally toll free Need not worry about call charges

Page 19: Mobile Computing through Telephony

Mobile Computing through Telephone

Interactive Voice Response (IVR) Voice Response Unit (VRU) Computer Telephony (CT) Computer Telephony Interface / Integration

(CTI) IVR software can be hosted on WindowsNT,

Linux or any other computers with voice card

One of the most popular card vendor is from Intel /Dialogic

Page 20: Mobile Computing through Telephony

IVR Architecture

IVR works as the gateway between a voice based telephone system and computer system

Multiple telephone lines are connected to the voice card through telecom interface

Page 21: Mobile Computing through Telephony

IVR Architecture

Call received by the voice card within IVR

Voice card answer the call Establish the connection between the

caller & IVR application

Page 22: Mobile Computing through Telephony

IVR Architecture

Switch can be either a PSTN exchange or local PBX in the office

Telephone KB has 12 keys (0,1,2,……...9, *,#) It is possible to enter alphabetic data through Tel.

KB

Page 23: Mobile Computing through Telephony

IVR Architecture

Alphabets mapping on the telephone keyboard

Page 24: Mobile Computing through Telephony

IVR Architecture

It is possible to enter alphabetic data through telephone KB by pressing a key in multiple succession.

Ex. DELHI entered as 3-3 (D), 3-3-3(E), 5-5-5-5(L), 4-4-4-4(I)

Key inputs are received by the voice card as DTMP(Dual Tone Multi Frequency)

Page 25: Mobile Computing through Telephony

IVR Architecture

Inputs generated through the combination of frequency Ex: User Press 2- 3Times (2-2-2 ) Voice card will receive – 697+1336Hz+ 697+1336Hz+ 697+1336Hz Looking at a time interval between the numbers the

program can decide whether the user entered 222 or B

Page 26: Mobile Computing through Telephony

IVR Architecture

When application needs to send an output to the user , the standard data is converted into voice either through synthesizing voice files or through Text to Speech (TTS) conversion software.

IVR System assemble a series of prerecorded voice prompts to generate equivalent sound response.

TTS interface can be used to convert the text into speech.

Different TTS are available for different language.

Page 27: Mobile Computing through Telephony

Overview of the Voice Software Encompasses the processing and

manipulation of an audio signal in a Computer Telephony System (CT)

Supports – Filtering, analyzing, recording, digitizing, compressing, storing, replaying audio voice.

Most of the voice cards come with industry standard Peripheral Component Interface (PCI)

PCI interface makes it possible to integrate these voice products into Windows or Linux systems quite easily.

Page 28: Mobile Computing through Telephony

Overview of the Voice Software Encompasses the processing and

manipulation of an audio signal in a Computer Telephony System (CT)

Supports – Filtering, analyzing, recording, digitizing, compressing, storing, replaying audio voice.

Most of the voice cards come with industry standard Peripheral Component Interface (PCI)

PCI interface makes it possible to integrate these voice products into Windows or Linux systems quite easily.

Page 29: Mobile Computing through Telephony

Inside IVR

Popular Voice card – D/41JCTLS from Dialogic for small office 4 port analog converged communications voice, fax and

software based speech recognition board. Posses Dual Processor architecture Comprises Digital Signal Processor (DSP) and general purpose

Microprocessor Provides four telephone line interface circuit for direct

connection to analog loop start lines RJ11 interface

Page 30: Mobile Computing through Telephony

Voice Driver and API

Dialogic Voice Driver APIs Many vendors around the world use Dialogic cards

from Intel in IVRS system. Driver in an IVRS system used to communicate and

control the voice hardware on IVRs System. Voice driver can make calls, answer calls, identify

caller ID, play and record sound from telephone line, detect DTMF signals dialed by the caller.

It can tear down the call, detect when the caller has hung up.

It offers APIs to record the transaction details. Transaction information required for audit trail and

cahrging.

Page 31: Mobile Computing through Telephony

IVR Programming

Voice libraries provided by Dialogic to interface with the voice driver.

Single threaded and Multithreaded Libdxxmt.lib – the main voice library Libsrlmt.lib- Therstndard run time library

Page 32: Mobile Computing through Telephony

IVR Programming

Use of Libraries Utilize all the voice board features of call

management Write applications using single threaded

Asynchronous or multi threaded paradigm. Configure devices Handle the events that occur on the

devices. Return device information Gather call transaction details

Page 33: Mobile Computing through Telephony

Single Threaded Asynchronous Programming Model

Enable single program to control multiple voice channels within a single thread.

Allows development of complex applications where multiple tasks must be coordinated simultaneously

Supports – Polled and callback event management

Page 34: Mobile Computing through Telephony

Multi Threaded synchronous Programming Model

Application controls each channel from a separate thread or process.

Operating system can control individual device threads to sleep

When dialogic function is completed , the OS wakes up the function’s thread so that processing continues.

Assign distinct applications to different channels

Page 35: Mobile Computing through Telephony

Voice APIs

Dialogic provides different APIs. APIs are available for

device management, configuration function, input output functions, play and record functions, tone detection functions, tone generation functions, call control functions etc.

Page 36: Mobile Computing through Telephony

Voice APIs

Dialogic provides different APIs.

Page 37: Mobile Computing through Telephony

Developing IVR application

User interface in IVRs application is called CALL FLOW.

Call Flow define – How call will be managed?

Note down the precise prompts that are played as output.

Prompts are generally prerecorded by people with professional voice.

Page 38: Mobile Computing through Telephony

Call Flow for Theater Ticket Booking Application

Page 39: Mobile Computing through Telephony

VoiceXML

In Mobile Computing through telephony, IVR is connected to the server through the Client / Server Architecture.

Today Internet (http) is used in addition to client / server interface between IVR and Server in MC.

http is used for voice portals. Increase the flexibility in MC

architecture.

Page 40: Mobile Computing through Telephony

VoiceXML

Voice Portal – A user use an Internet site through voice or telephone interface.

All these advanced features introduced VoiceXML.

Recent IVRs are equipped with DSP (Digital Signal Processing) & Capable of recognizing voice.

Output is synthesized voice through TTS.

Page 41: Mobile Computing through Telephony

VoiceXML- Voice eXtensible Markup Language

XML based markup language for creating distributed voice applications.

Designed for creating audio dialogs. We can create web based voice applications

that user can access through telephone Features of VoiceXML

Synthesized Speech Digitized Audio Recognition of Spoken English DTMF Key Input

Page 42: Mobile Computing through Telephony

Architectural Model

A document server (Web server) Applications run on VoiceXML interpreter context Server delivers VoiceXML documents which are

processed by the VoiceXML interpreter.

Page 43: Mobile Computing through Telephony

Architectural Model

VoiceXML interpreter Context: Responsible for detecting an incoming call Acquiring the initial voice XML document Answering the call

Page 44: Mobile Computing through Telephony

How Voice XML Fits into Web Environment

Visual GUI web browser renders and interprets http requests to present information to the user in text, multimedia, audio etc.

The voice browser extends this paradigm. Voice server has been added to the web

environment.

Page 45: Mobile Computing through Telephony

How Voice XML Fits into Web Environment

The Voice Server manages several Voice Browser Sessions.

Each Voice browser session includes one instance of the Voice Browser, the speech recognitions engine, and Text-to-Speech engine.

Page 46: Mobile Computing through Telephony

How Voice XML Fits into Web Environment

The voice browser presents the information to the caller into audio using VoiceXML.

When caller says something, the voice browser sends HTTP request to the web server and information is returned in Audio.- Called Voice Portal.

Page 47: Mobile Computing through Telephony

The Voice Browser

Using voice browser, we can interact with web server using our voice and a telephone.

Voice browsers renders and interprets VoiceXML document.

We use voice and telephone (even phone keypad) to access web information and services.

Page 48: Mobile Computing through Telephony

Dialogs

A VoiceXML application defines a series of dialogs between user and computer.

Two types if dialogs that can be implemented in VoiceXML

Forms – Collects values for a set of fields Menus – presents user with choices or

option and transition to another dialog based on the choice.

Page 49: Mobile Computing through Telephony

Essential Elements of Voice XML Documents

First line contains <?xml> element Second line contains <vxml> element

Page 50: Mobile Computing through Telephony

Prompts

In Voice XML application, information is presented to the user through Audio Prompts.

Prompts can be prerecorded audio or synthesized speech.

Use prompt element in VoiceXML to generate TTS.

Any text within the body of a <prompt> element is spoken.

Page 51: Mobile Computing through Telephony

Grammar

Each dialog has one or more speech and/or DTMF grammars associated with it.

In VoiceXML, <grammar> element is used to define what the caller can say to the application at any given time.

Three different types of grammars supported. Inline External Built-in

Page 52: Mobile Computing through Telephony

Grammar-inline Grammars

Inline Grammars: defined in the VoiceXML code Example:

Inline Grammars: defined in the VoiceXML code

Words and phrases that caller is allowed to say is defined within the body of the <grammar> element

Each word is separated by “|” means OR.

Page 53: Mobile Computing through Telephony

Grammar-External Grammars External Grammar – are those specified outside

of the VoiceXML code. Document is in another file and referenced from

within the voiceXML code. <grammart> element is used to specify an

external grammar. Example:

Page 54: Mobile Computing through Telephony

Form

Form is one of the ways of developing a dialog with the caller in VoiceXML.

A form is, basically, a collection of one for more fields that caller fills in by saying something.

Forms are central to VoiceXML, A VoiceXML form is a process to present

information and gather input from the caller.

In case of VoiceXMl, we can’t see the fields, instead of typing into the field, we say something to fill it in.

Page 55: Mobile Computing through Telephony

Form Example

In VoiceXML forms are define using <form> element and fields within the form element using the <field> element.

Page 56: Mobile Computing through Telephony

Events

VoiceXML provides a form filling mechanism for handling ‘normal’ user input.

VoiceXML defines a mechanism for handling events not covered by the form mechanism.

Events are thrown by the platform under a variety of circumstances, such as when the user does not respond, does not respond intelligibly, request help etc.

Page 57: Mobile Computing through Telephony

Links

A link supports a mixed initiative. It specifies a grammar that is active

whenever the user is in scope of link. If the user input matches the link’s

grammar control transfer to the link destination URI

A <link>can be used to throw an event to go to the destination URI.

Page 58: Mobile Computing through Telephony

VoiceXML Elements

Page 59: Mobile Computing through Telephony

VoiceXML Elements

Page 60: Mobile Computing through Telephony

VoiceXML Elements

Page 61: Mobile Computing through Telephony

VoiceXML Elements

Page 62: Mobile Computing through Telephony

Telephony Application Programming Interface (TAPI)

TAPI – Higher level framework for developing voice services.

SAPI- Speech Application Programming Interface

SAPI and TAPI are two standards that can be used uwhen developing voice telephony application.

Developed jointly by Intel and Microsoft.

Page 63: Mobile Computing through Telephony

Telephony Application Programming Interface (TAPI)

Advantages- Programmers can use different telephone systems- PSTN, ISDN, and PBX(Private Branch Exchange) without having to understand all their details

Use of API will save the programmers time and pain of trying to program hardware directly

Through TAPI and SAPI program can talk over telephone or video phones or phone connected resources.

Page 64: Mobile Computing through Telephony

Telephony Application Programming Interface (TAPI)

Simple user interface to setup calls – calling some one clicking the picture

Simple GUI to setup a conference call See who you are talking Attach voice greeting with email Send and Receive faxes

Page 65: Mobile Computing through Telephony

Questions and Assignments