TSAPI Server

TSAPI APIs
沈婉婉
[email protected]
Integrated Office Telephony System
1
Outline
CSTA
 TSAPI Overview
 IOTS TSAPI Overview
 TSAPI Programming
 IOTS TSAPI APIs

Integrated Office Telephony System
2
CSTA
(Computer Supported Telecommunications Applications)
by ECMA
 Current version - Phase II
 Client-server architecture

Integrated Office Telephony System
3
CSTA Call Model

Objects
 Device
lines, trunks, stations, ACD, ACD groups...
 Call
 Connection
a relationship between a call and a CSTA device

Each object has an identifier, state, other
attributes
Integrated Office Telephony System
4
CSTA Call Model (cont.)

Device, Call, Connection
Call 1
Connection 1
(connected)
Device
314
Connection 2
(altering)
Device
315
Integrated Office Telephony System
5
Connection State
Null
Alerting
Initiated
Failed
Queued
Connected
Hold
Integrated Office Telephony System
6
Call State
Connection State
Device3
Device1
C1
C3
Call
Device2
C2
Device4
C4
Call State =
C1
C2
C3
C4
Integrated Office Telephony System
7
Device State
C1
Call 1
Device3
C2
Call 2
C3
Call 3
Connection State
Device State =
C1
C2
C3
Integrated Office Telephony System
8
CSTA Call Event
Time
T1
Device D1
Null
Call C1
Null
Device D2
Null
T2
Initiated
Service Initiated
Null
T3
Connected
Originated
Null
Connected
Delivered
Alerting
Connected
Established
Connected
CSTA Event
Reports
CSTA
Connection
States
T4
T5
CSTA
Connection
States
Integrated Office Telephony System
9
Agent State Model
Agent
Null
Agent
Not Ready
Agent
Ready
Agent
Working
After Call
Agent
Busy
Integrated Office Telephony System
10
Agent State Model (extended)
Agent
Null
Agent
Not Ready
Agent
Working
After Call
Agent
Not Work
Not Ready
Agent
Busy
Agent
Ready
Agent
Pending
Integrated Office Telephony System
11
Voice Unit Operational Model
Speed
Volume
Level
Speed
next
message
Volume
Volume
Level
Speed
Level
Stop
Record
Play
Position
Set Speed
Suspend
Play
Set Speed
Speed
Level
Volume
Position
Position
Set Speed
Speed
Level
Volume
Suspend
Record
Speed
Level
Volume
Review
Position
Integrated Office Telephony System
12
Voice Unit Operational Model (partial)
Stop
Play
Record
Integrated Office Telephony System
13
TSAPI
(Telephony Services Applications Programming Interface)

by Novell and AT&T.
PBX
Telephony
Server
Integrated Office Telephony System
14
TSAPI (cont.)


Client-server model
Support different client platforms








Microsoft Windows
Unix
Macintosh
OS/2
No special voice cards, or other hardwares is necessary
at a client’s desktop
Follow CSTA Phase I
Currently, only have switching functions
Current version - TSAPI Release 2.21
Integrated Office Telephony System
15
TSAPI Introduction (cont.)
NetWare
Server-based Application
Applications
Telephony Services API
Switch
(PBX)
Telephony Services Library
Telephony
Client Library
Switch Driver Interface
Switch Driver
.OA&M Server
Functions
.API Mapping
.CTI Link Device
Driver
NetWare Client
Modules
Telephony
Services
Windos OS
NetWare OS
CTI Link Hardware
LAN Adapter Card
Clients
...
Telephony Server
CTI Link
LAN
Analog, ISDN, or PBX-specific lines
Integrated Office Telephony System
16
IOTS TSAPI

TSAPI-like application programming interface
for IOTS
trunk or line interface
IOTS
Client
Client
Integrated Office Telephony System
17
IOTS TSAPI (cont.)

Follow TSAPI Release 2.21, excepts:
 Escape services
 Maintenance services
 System services
Server: Windows NT 4.0
 Client: Windows NT 4.0

Integrated Office Telephony System
18
IOTS TSAPI (cont.)
Windows NT4.0
Server-based Application
TSAPI Library
TSAPI DLL
Applications
TSAPI Library
TRUNK
IOTS
Platform
TSAPI DLL
TSAPI
Server
Windos NT4.0
Windows NT4.0
LSI / MSI
LAN Adapter Card
Clients
...
LAN
IOTS
Analog lines
Integrated Office Telephony System
19
TSAPI Programming

API Control Services (ACS) Stream
 a logical link between application & TSAPI server
 applications request CSTA services and receive
events over the stream
CSTA Call Model
 TSAPI Events

 most APIs has an associated confirmation event
 when the state of calls or devices were changed, an
unsolicited event reports
Integrated Office Telephony System
20
TSAPI Programming (cont.)
CSTA Service Monitor
Requests
acsOpenStream() Requests
Switch Function
/ Media Process
Requests
acsCloseStream()
Unsolicited
Events
Open
Stream
CSTA Conf
Conf Event Events
Monitor
Conf Event
Conf Event
Close
Stream
Conf Event
TSAPI
TSAPI Server
PBX
Integrated Office Telephony System
21
IOTS Supported TSAPI APIs
API control services
 Switching function services
 Status reporting services
 Snapshot services
 CSTA computing function services
 Media processing services
 IOTS extended services

Integrated Office Telephony System
22
Event Manipulation

Each stream contains one event queue
 confirmation events (service request)
 unsolicited events (monitor request)
 for swithing & media processing
 request events (route register request)
 for call routing request
 event report (route register request)
 for call routing status


Retrieve event form queue
 acsGetEventBlock()
 acsGetEventPoll()
Clear event queue
 acsFlushEventQueue()
Integrated Office Telephony System
23
API Control Services
acsOpenStream
 acsCloseStream
 acsGetEventBlock
 acsGetEventPool
 acsFlushEventQueue
 cstaGetDeviceList
 cstaGetAPICaps

Integrated Office Telephony System
24
Switching Function Services








cstaAlternateCall
cstaAnswerCall
cstaClearCall
cstaClearConnection
cstaConferenceCall
cstaConsultationCall
cstaDeflectCall
cstaGroupPickupCall







cstaHoldCall
cstaMakeCall
cstaMakePredictiveCall
cstaPickupCall
cstaReconnectCall
cstaRetrieveCall
cstaTransferCall
Integrated Office Telephony System
25
Switching Function Services (cont.)








cstaQueryAgentState
cstaQueryDeviceInfo
cstaQueryDoNotDisturb
cstaQueryFwd
cstaQueryLastNumber
cstaSetAgentState
cstaSetDnd
cstaSetFwd
Integrated Office Telephony System
26
Status Reporting Services
cstaMonitorDevice
 cstaMonitorCall
 cstaMonitorCallsViaDevice
 cstaMonitorStop
 cstaChangeMonitorFilter

Integrated Office Telephony System
27
Snapshot Services

cstaSnapshotCallReq
Device3
Connection State
Device1
C1
C3
Call
Device2
C2
Device4
C4
Call State =
C1
C2
C3
C4
Integrated Office Telephony System
28
Snapshot Services (cont.)

cstaSnapshotDeviceReq
C1
Call 1
C2
Call 2
Device3
C3
Call 3
Connection State
Device State =
C1
C2
C3
Integrated Office Telephony System
29
CSTA Computing Function Services
cstaRouteRegisterReq
 cstaRouteRegisterCancel
 cstaRouteSelectInv
 cstaRouteEndInv

Integrated Office Telephony System
30
Application Routing Scenario
Driver / Switch Domain
(1) a call arrives at the routing device,
CSTARouteRequestEvent is sent
(3) the switchh attempts to route the
queued call to selected dest.
a. if destination address is o.k. a
CSTARouteEndEvent is sent
b. if destination is invalid, then a
CSTAReRouteEvent is sent
(5) the switch attempts to route the
queued call to selected dest.
a. if destination address o.k., a
CSTARouteUsedEvent and
CSTARouteEndEvent is sent
b. if destionation is invalid then a
CSTAReRouteEvent is sent
Routing Server (application)
call related info
is passed
(1)
(2)
(3a)
or
(3b)
(4b)
(5a)
or
(5b)
(0) call cstaRouteRegisterReq() to be a
routing server for a specified device
(2) Application select a destination for
for the call. A cstaRouteSelectInv()
message is sent (Rout Used=off).
(4a) If (3a) then route is completed as
specified in (2).
(4b) If (3b) then send a second
cstaRouteSelectInv() with a different
destination (Rout Used=on).
...
...
(6a) If (5a) then route is completed as
specified in (4b).
(6b) If (5b) then send a second
cstaRouteSelectInv() with a different
destination (Rout Used=on), or send a
cstaRouteEndInv() handback to switch.
...
(last) call cstaRouteRegisterCancel()
before application exit.
Integrated Office Telephony System
31
Media Processing Services








_cstaPlayMessage
_cstaRecordMessage
_cstaStopMessage
_cstaDeleteMessage
_cstaGetDTMFTones
_cstaSendDTMFTones
_cstaSendFAX
_cstaReceiveFAX
Integrated Office Telephony System
32
IOTS Extended Services
_cstaAssociateData
 _cstaQueryCallInfo
 _cstaSingleStepTransferCall

Integrated Office Telephony System
33
CSTA Event - Unsolicited Event














CSTACallCleared
CSTAConferenced
CSTAConnectionCleared
CSTADelivered
CSTADiverted
CSTAEstablished
CSTAFailed
CSTAHeld
CSTANetworkReached
CSTAOriginated
CSTAQueued
CSTARetrieved
CSTAServiceInitiated
CSTATransferred














CSTADoNotDisturb
CSTAForwarding
CSTALoggedOn
CSTALoggedOff
CSTANotReady
CSTAReady
CSTAWorkNotReady
CSTAWorkReady
CSTAMonitorEnded
CSTAOutOfService
CSTABackInService
CSTAPlay
CSTARecord
CSTAStop
Integrated Office Telephony System
34
CSTA Event - Request Event


CSTARouteRequest
CSTARerouteRequest
Integrated Office Telephony System
35
CSTA Event - Event Report



CSTARegisterAbort
CSTARouteUsedExt
CSTARouteEnd
Integrated Office Telephony System
36
Events for Failure

ACSUniversalFailureConf
 non-telephony problem
 sent in place of confirmation event

CSTAUniversalFailureConf
 telephony-based problem
 sent in place of confirmation event

ACSUniversalFailure
 a failure of ACS Stream with TSAPI server
Integrated Office Telephony System
37
Confirmation Events

Confirmation events:
TSAPI has processed the request
 acsOpenStream()
ACSOpenStreamConf
 cstaGetDeviceList()
CSTAGetDeviceListConf
Integrated Office Telephony System
38
Unsolicited Events

Unsolicited events for switch function
(that IOTS Platform/switch has processed)
cstaMonitorDevive(StationDeviceID):
CSTADelivered
(delivered.connection)
cstaAnswerCall()
Another party drop call
CSTAAnswerCallConf
CSTAEstablished
CSTAClearConnection
cstaClearConnection()
CSTAClearConnectionConf
CSTAClearConnection
Integrated Office Telephony System
39
Request Events & Event Report

Unsolicited events for call routing
(sent from IOTS platform/switch)
cstaMonitorDevive(TrunkDeviceID)
cstaRouteRegisterReq(TrunkDeviceID)
CSTARouteRequestExt
cstaRouteSelectInv()
Another party drop call
No confirmation event
CSTARouteEnd
/CSTAReRouteRequest
CSTAClearConnection
CSTARouteEnd
Connected
Busy
No answer
Integrated Office Telephony System
40