Upload
lisa-harris
View
218
Download
0
Embed Size (px)
Citation preview
Internet and Telephony
Kwan Hong LeeMay 6, 1998
Outline
MotivationSystem setup and architectureProgramming EnvironmentApplicationsProblemsConclusion
Motivation
Now: Internet and Telephony separateGoal: explore services and applications
that integrate Internet and TelephonyBasis: JTAPI
rapid web application development applications run anywhere
Outline
Motivation
System setup and architecture
Programming EnvironmentApplicationsProblemsConclusion
System Configuration
PBX
Lucent Generic 3 SwitchProvides telephony services
call management, billing, call conferencing etc.
Very complicatedSeveral analog phones connected
Telephony Server
Telephony Services Module Links applications and switch driver Routes messages and events
Switch driver Terminates CTI link and protocol Map CTI protocol to TSAPI
Telephony Services
Telephony server IP address and port number (450) stored in TSLIB.INI where telephony application resides
Using the Service
PBX driver registers services (TLINKS) with the telephony server (Tserver)
Select TLINK VENDOR#DRIVER#SERVICE#SERVERNAME
User logs in with Windows NT login and password
Ready to use telephony services
Architecture
JTAPI
TSAPI
CSTA
ASAIG3PD
PBX switch
ASAI
Definity specificAllows applications to access switch
features and control callsEthernet interface
TSAPI
API that allows applications to control the PBX services call control call/device monitoring query
Java Telephony API
Easy telephony application development Object oriented, reusable, cross platform
Integrates telephony services with web applications Telephony services controlled through the
Internet Applets
Outline
MotivationSystem setup and architecture
Programming EnvironmentApplicationsProblemsConclusion
JTAPI Core & Extensions
java.telephony java.telephony.callcontrol java.telephony.callcenter java.telephony.media java.telephony.privatedata
JTAPI Call Model
Call States
Connection states(logical view)
Terminal connection states (physical view)
JTAPI Example
mycall = m_provider.createCall();
c = mycall.connect(m_origterm, m_origaddr, phoneNum );
CallControlConnection.redirect( m_dest );
Connection.disconnect();
DTMF Detection
Requires VDN and call vectorsCall vectors store routing forwarding
information
lucentUEC = ( (LucentCallInfo) evlist[i] ).getUserEnteredCode();if ( lucentUEC != null )
RecvCCObserver.collDigits = lucentUEC.getDigits();
VDN VDN Terminalforwardedforwarded
Call Observer Call Observer
Inside Call Observer
Outline
MotivationSystem setup and architectureProgramming Environment
ApplicationsProblemsConclusion
Applications
Internet voice message serverAlarm call serviceEnhanced Help DeskSchedule based call forwardingWhen you dial a number, the web page pops
up weather phone call --> pops up weather web page
Applications in text to voice and vice versaUse of caller ID, call queueing
Alarm Call Service
Alarm Call Service
Client
ACK
Send Request
Guest#guest#45515#1#894357900000
Server
Sample Request
Request Queue
Timer variable keeps track of the time when the nextrequest needs to be processed and puts the thread tosleep until then.
Make CallClient managers handle multiple requests by multi threading and inserts the requests at the appropriate place among the requests in the queue
Switching Plane of VMS
45520
45521
45530
45511
45513
Extension entered (3 digit) Extension + PIN entered (7 digit)
The digits entered by user are collected during ALERTING state.
Automatic routing
•Calling address and called address collected•Send calling address and extension (+ PIN)•If ACK is received, redirect to Voice Message Server, if NOACK, disconnect
When connection becomes disconnected, send FINISHsignal and close all socket connection
Phone E-mail
Sends e-mail
SMTP Server TelephonyServer
Converts e-mail content to voice and savesas real audio format.
User could check the voice mail through phone, e-mail or web.
When no physical phone is accessible.
Could be forwarded to pager withtext content
TTS
Scheduled Call Forwarding
SMTP Server TelephonyServerSend call forwarding schedule
Lookup database for authentication bychecking the sender and the password
Parse the request
Either store it in database or in memorydata structure
E-mail message contains passwordtime and phone numbers
Outline
MotivationSystem Setup and ArchitectureProgramming EnvironmentApplications
ProblemsConclusion
Initial Difficulties
Documentation difficult for first time user 5 second to get the phone off hook when call
made Parameter setting in ASAI setup logon as a service Phone wire connection
User interface in setup forms
Suggestions
GUI for setting up stations and other options
A multimedia tutorial on PBX switch installation and setup
Requires double administration Switch setup and telephony services admin on
controller desktop
Conclusion
Great potential in applications that make use of telephony services through the Internet
Integration with web and multimedia technologies
Java servlets, Java media framework, Personal Java