1 / 40

TSAPI APIs

TSAPI APIs. 沈婉婉 sww@itri.org.tw. Outline. CSTA TSAPI Overview IOTS TSAPI Overview TSAPI Programming IOTS TSAPI APIs. CSTA (Computer Supported Telecommunications Applications). by ECMA Current version - Phase II Client-server architecture. CSTA Call Model. Objects Device

paco
Download Presentation

TSAPI APIs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TSAPI APIs 沈婉婉 sww@itri.org.tw

  2. Outline • CSTA • TSAPI Overview • IOTS TSAPI Overview • TSAPI Programming • IOTS TSAPI APIs

  3. CSTA (Computer Supported Telecommunications Applications) • by ECMA • Current version - Phase II • Client-server architecture

  4. 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

  5. Call 1 Connection 1 (connected) Connection 2 (altering) Device 314 Device 315 CSTA Call Model (cont.) • Device, Call, Connection

  6. Null Alerting Initiated Failed Queued Hold Connected Connection State

  7. Connection State Device3 Device1 C1 C3 Call Device4 Device2 C2 C4 Call State = C1 C2 C3 C4 Call State

  8. Call 1 C1 Device3 C2 Call 2 C3 Call 3 Connection State Device State = C1 C2 C3 Device State

  9. CSTA Call Event Device D1 Call C1 Device D2 Time Null Null Null T1 Initiated Service Initiated Null T2 Connected Originated Null T3 Connected Delivered Alerting T4 T5 Connected Established Connected CSTA Connection States CSTA Event Reports CSTA Connection States

  10. Agent State Model Agent Null Agent Not Ready Agent Working After Call Agent Ready Agent Busy

  11. Agent State Model (extended) Agent Null Agent Not Ready Agent Working After Call Agent Not Work Not Ready Agent Busy Agent Ready Agent Pending

  12. Voice Unit Operational Model Speed Volume Level Speed Volume Level Speed Volume Level Stop next message Record Play Position Speed Level Volume Set Speed Suspend Record Position Suspend Play Position Review Set Speed Set Speed Position Speed Level Volume Speed Level Volume

  13. Voice Unit Operational Model (partial) Stop Play Record

  14. PBX Telephony Server TSAPI(Telephony Services Applications Programming Interface) • by Novell and AT&T.

  15. 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

  16. NetWare Server-based Application Applications Telephony Client Library NetWare Client Modules Windos OS Telephony Services API Telephony Services Library Switch (PBX) Switch Driver Interface Switch Driver .OA&M Server Functions .API Mapping .CTI Link Device Driver Telephony Services NetWare OS CTI Link Hardware LAN Adapter Card Clients ... LAN Telephony Server CTI Link Analog, ISDN, or PBX-specific lines TSAPI Introduction (cont.)

  17. trunk or line interface IOTS Client Client IOTS TSAPI • TSAPI-like application programming interface for IOTS

  18. 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

  19. LAN Adapter Card IOTS TSAPI (cont.) Windows NT4.0 Server-based Application TSAPI Library Applications TSAPI Library TSAPI DLL Windos NT4.0 TSAPI DLL IOTS Platform TRUNK TSAPI Server Windows NT4.0 LSI / MSI Clients ... LAN IOTS Analog lines

  20. 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

  21. Switch Function / Media Process Requests CSTA Service Requests Monitor Requests acsCloseStream() acsOpenStream() Unsolicited Events Open Stream Conf Event Monitor Conf Event Conf Event CSTA Conf Events TSAPI TSAPI Server PBX TSAPI Programming (cont.) Close Stream Conf Event

  22. 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

  23. 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()

  24. API Control Services • acsOpenStream • acsCloseStream • acsGetEventBlock • acsGetEventPool • acsFlushEventQueue • cstaGetDeviceList • cstaGetAPICaps

  25. cstaAlternateCall cstaAnswerCall cstaClearCall cstaClearConnection cstaConferenceCall cstaConsultationCall cstaDeflectCall cstaGroupPickupCall cstaHoldCall cstaMakeCall cstaMakePredictiveCall cstaPickupCall cstaReconnectCall cstaRetrieveCall cstaTransferCall Switching Function Services

  26. cstaQueryAgentState cstaQueryDeviceInfo cstaQueryDoNotDisturb cstaQueryFwd cstaQueryLastNumber cstaSetAgentState cstaSetDnd cstaSetFwd Switching Function Services (cont.)

  27. Status Reporting Services • cstaMonitorDevice • cstaMonitorCall • cstaMonitorCallsViaDevice • cstaMonitorStop • cstaChangeMonitorFilter

  28. Snapshot Services • cstaSnapshotCallReq Device3 Connection State Device1 C1 C3 Call Device4 Device2 C2 C4 Call State = C1 C2 C3 C4

  29. Call 1 C1 Device3 C2 Call 2 C3 Call 3 Connection State Device State = C1 C2 C3 Snapshot Services (cont.) • cstaSnapshotDeviceReq

  30. CSTA Computing Function Services • cstaRouteRegisterReq • cstaRouteRegisterCancel • cstaRouteSelectInv • cstaRouteEndInv

  31. Driver / Switch Domain Routing Server (application) call related info is passed (1) (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. (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 CSTARouteEndEventis 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 (2) (3a) or (3b) (4b) (5a) or (5b) ... ... ... Application Routing Scenario

  32. Media Processing Services • _cstaPlayMessage • _cstaRecordMessage • _cstaStopMessage • _cstaDeleteMessage • _cstaGetDTMFTones • _cstaSendDTMFTones • _cstaSendFAX • _cstaReceiveFAX

  33. IOTS Extended Services • _cstaAssociateData • _cstaQueryCallInfo • _cstaSingleStepTransferCall

  34. CSTA Event - Unsolicited Event • CSTADoNotDisturb • CSTAForwarding • CSTALoggedOn • CSTALoggedOff • CSTANotReady • CSTAReady • CSTAWorkNotReady • CSTAWorkReady • CSTAMonitorEnded • CSTAOutOfService • CSTABackInService • CSTAPlay • CSTARecord • CSTAStop • CSTACallCleared • CSTAConferenced • CSTAConnectionCleared • CSTADelivered • CSTADiverted • CSTAEstablished • CSTAFailed • CSTAHeld • CSTANetworkReached • CSTAOriginated • CSTAQueued • CSTARetrieved • CSTAServiceInitiated • CSTATransferred

  35. CSTA Event - Request Event • CSTARouteRequest • CSTARerouteRequest

  36. CSTA Event - Event Report • CSTARegisterAbort • CSTARouteUsedExt • CSTARouteEnd

  37. 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

  38. Confirmation Events • Confirmation events: TSAPI has processed the request • acsOpenStream() ACSOpenStreamConf • cstaGetDeviceList() CSTAGetDeviceListConf

  39. Unsolicited Events • Unsolicited events for switch function (that IOTS Platform/switch has processed) cstaMonitorDevive(StationDeviceID): CSTADelivered (delivered.connection) Another party drop call cstaAnswerCall() CSTAAnswerCallConf CSTAEstablished CSTAClearConnection cstaClearConnection() CSTAClearConnectionConf CSTAClearConnection

  40. 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

More Related