Upload
zavier-lomax
View
227
Download
5
Tags:
Embed Size (px)
Citation preview
1
CSTA OverviewCSTA Overview
Source: Joao Armenio - Siemens Brazil
2
3
CSTACSTA
Computer Suported Telecommunications Applications
CSTA is an OSI layer 7 protocol which is defined to communicate a Computer Network with a Telecommunications
Network.
4
CSTACSTAWho defines it?Who defines it?
ECMA is the international standards organization responsible for developing the
CSTA Standard.
Task Group 11 is the specific working group focused on CSTA.
CSTA is also an ISO/IEC Standard
5
CTICTI
Overview
6
CTICTIDefinitionDefinition
PBX providing Telephony Information to Computer Application
Computer Application controlling PBX
CTICTI
7
CTICTIDefinitionDefinition
CTI is the science of adding computer intelligence to the making and receiving of phone calls (Harry Newton - CT Magazine)
CTI combines the computer´s information management strength with the telephone´s communicating power (Mitel White Paper)
CTI is the technique of coordinating the actions of telephone and computer systems (Carl R. Strathmeyer - Dialogic Corporation)
8
CTICTIFirst Party vs. Third PartyFirst Party vs. Third Party
First Party Call ControlFirst Party Call Control- CTI application has the
ability to control/monitor a single device.
Third Party Call ControlThird Party Call Control- CTI application has the
ability to control/monitor more than one device.
CTIApplication
CTIApplication
9
CTICTIExamples of FeaturesExamples of Features
ACD Call Control Line/Set Control
ACD Features
Get/Set Agent State
Make CallAnswerTransfer
Conference Hold & Retrieve
Hang Up
Device Features
Speaker On/OffMute
Get/Set MWIGet/Set Button State
10
CTICTIACD CallACD Call
Tim
e
Call Arrives on Trunk
Call Enters IVR
Call Enters ACD
Conversation
CTICTIEventsEvents
Call Delivered to Agent
11
CTICTIAPI vs. ProtocolAPI vs. Protocol
Protocol - specific set of rules, procedures or conventions relating to format and timing of data transmission between two devices
API - software that an application program uses to request and carry out lower-level services performed by the computer’s or a telephone’s operating system.
12
CTICTIAPI vs. ProtocolAPI vs. Protocol
13
CTICTIProtocols/API´sProtocols/API´s
CSTA - protocol from ECMA
TAPI - API from Microsoft
JTAPI - API from Sun
14
CTI CTI API´s AND PROTOCOLSAPI´s AND PROTOCOLS
ACD Call Control Line/Set Control
CallPath
TAPI 1.0
CSTA Phase I and II
TSAPI
JTAPI
15
CTI CTI API´s AND PROTOCOLSAPI´s AND PROTOCOLS
ACD Call Control Line/Set Control
CallPath
TAPI 2.x and 3.0
CSTA Phase III
TSAPI
JTAPI
16
CSTACSTA
17
CSTA ASN.1 ProtocolCSTA ASN.1 Protocol
CSTA Protocol (ECMA-285) is based on ASN.1, a notation standardized by ITU-T that defines an abstract syntax for a protocol.
ASN.1 - Abstract Syntax Notation One
ITU-T X.680 - Basic Notation
ITU-T X.690 - Encoding Rules
18
CSTA XML ProtocolCSTA XML Protocol
CSTA XML Protocol (ECMA-323) - Set of XML Schemas. Uses the following W3C technologies:
XML 1.0 XML Schema Definition SOAP - Simple Object Access Protocol
19
CSTA VersionsCSTA Versions Phase I - Services (ECMA-179) and Protocol
(ECMA-180). June 1992. Phase II - Service (ECMA-217), Protocol (ECMA-
218) and Technical Report TR/68. Some services added to Phase I. Dec. 1994.
Phase III - Service (ECMA-269&ISO 18051) and ASN.1 Protocol (ECMA-285&ISO 18052), Glossary of Definition and Terminology (TR/72&ISO 18053), Scenarios (ECMA TR/82), Migrating to CSTA Phase III (ECMA TR/80), and XML Protocol (ECMA-323).
20
CSTACSTAModellingModelling
Device Modelling
Physical Elements
Logical Elements
Device Configurations
Device Ids
Device Categories
21
CSTA ModellingCSTA ModellingPhysical and Logical ElementsPhysical and Logical Elements
Buttons
Lamps
Display
Ringer
Hooksw
itch
Speaker
Microphone
AuditoryApparatus
PA
AL
22
CSTACSTADevice ConfigurationDevice Configuration
A AL3
P1 P2
Bridged Device Configuration
23
CSTACSTADevice ID´sDevice ID´s
Diallable Number
Switching Function Representation
Device Number
24
CSTACSTA Device Categories Device Categories
Station Device Category
Network Interface Device Category
ACD Device Category
Park Device Category
Other Device Category
Group Device Category
25
CSTACSTACall ModellingCall Modelling
Call Identification
C1 D2D1
Connection IdC1D1
Connection IdC1D2
26
CSTACSTACall ModellingCall Modelling
C1 D2D1
D4D3
D5 D6
D7
C2
D8
C3
Conference
Campon
Consultation
27
Services (C S) - used to request that an action be performed or to ask for information
Events (C S) - used to report transitions in the switching function.
CSTACSTATypes of MessagesTypes of Messages
28
CSTACSTAGroups of ServicesGroups of Services
Capability Exchange Services System Services Monitoring Services Snapshot Services Call Control Services Call Associated Services Media Attachment Services Routeing Services
29
CSTACSTAGroups of Services (cont.)Groups of Services (cont.)
Physical Device Services Logical Device Services I/O Services Voice Unit Services Call Detail Recording Services Escape Services
30
CSTACSTAGroups of EventsGroups of Events
Call Control Events Call Associated Events Media Associated Events Physical Device Events Logical Device Events Device Maintenance Events Voice Unit Events Escape Events
31
a,c,q,n,f
CSTA - Example of ServiceCSTA - Example of ServiceConditions for Consult CallConditions for Consult Call
D1
D3
D2
D3
D2D1C1
C2
C1
Before Service After Service
hc *
c
*
32
CSTA - Example of ServiceCSTA - Example of ServiceParameters of Consult CallParameters of Consult Call
Parameter Name TypeM/
O/CDescription
existingCall ConnectionID M Specifies the active connection
consultedDevice DeviceID M Specifies the device to be consulted
connectionReservation Boolean O Specifies that the media stream channel...
accountCode AccountInfo O Specifies the account code ...
authCode AuthCode O Specifies the authorization code ...
correlatorData CorrelatorData O Specifies the correlator data ...
userData UserData O Specifies the user data ...
. . . .
33
CSTA - Example of ServiceCSTA - Example of ServiceConsult Call-Connection State TransitionsConsult Call-Connection State Transitions
Connection Initial State(Required) Final State
D1C1 Connected Hold
D1C2 Null Initiated, Connected
D3C2 Null Alerting, Connected, Queued,...
D2C1 (Unspecified) (Unaffected)
34
CSTA - Example of ServiceCSTA - Example of ServiceConsult Call - Monitoring EventsConsult Call - Monitoring Events
Monitored Device Connection Event Event Cause
D1 D1C1 Held Specifies the active connection
(Consulting Device) D1C2 Service Initiated(optional) Specifies the device to be consulted
D1C2 Originated Specifies that the media stream channel...
D3C2 Depends on the type...
D2 D1C1 Held Normal or Consultation or...
D3 D3C2 Depends on the type...
35
CSTA - Example of ServiceCSTA - Example of ServiceConsult Call - Functional RequirementsConsult Call - Functional Requirements
1.For the consultedDevice, all active features will be honoured…
2.The consultOptions parameter indicates the potential action…
3.It is switching function specific whether a switching function may still accept a request...
6.The consultedDevice parameter may contain a device identifier of null…
36
CSTA - Example of ServiceCSTA - Example of ServiceConsult Call - ASN.1 Protocol DefinitionConsult Call - ASN.1 Protocol Definition
– CSTA-consultation-call– { iso( 1) identified-organization( 3) icd-ecma( 0012)– standard( 0) csta2( 218) consultation-call( 7) }– DEFINITIONS ::=– BEGIN– IMPORTS– OPERATION, ERROR FROM Remote-Operations-Notation– { joint-iso-ccitt( 2) remote-operations( 4)
notation( 0) }– -- Data Types --– universalFailure FROM CSTA-error-definition– { iso( 1) identified-organization( 3) icd-ecma( 0012)– standard( 0) csta2( 218) error-definition( 120) }– CalledDeviceID FROM CSTA-device-identifiers– { iso( 1) identified-organization( 3) icd-ecma( 0012)– standard( 0) csta2( 218) device-identifiers( 123) }
37
CSTA - Example of ServiceCSTA - Example of ServiceConsult Call - Message DefinitionConsult Call - Message Definition
– consultationCall OPERATION– ARGUMENT ConsultationCallArgument– RESULT ConsultationCallResult– ERRORS {universalFailure}– ::= 7
– ConsultationCallArgument ::=– SEQUENCE– {existingCall ConnectionID,– consultedDevice CalledDeviceID,– consultedDeviceProfile DeviceProfile OPTIONAL,– accountCode [0] IMPLICIT AccountInfo OPTIONAL,– authCode [1] IMPLICIT AuthCode OPTIONAL,– correlatorData [2] IMPLICIT CorrelatorData OPTIONAL,– extensions CSTACommonArguments OPTIONAL}
– ConsultationCallResult ::=– CHOICE– {initiatedCall ConnectionID,– SEQUENCE– {initiatedCall ConnectionID,– extensions CSTACommonArguments} }
38
CSTA - Example of CSTA - Example of Conditions for Delivered EventConditions for Delivered Event
a,c,q,n,fD1 D2 D2D1C1 C1
Before Event After Event
a* *
39
CSTA - Example of ServiceCSTA - Example of ServiceParameters of Delivered EventParameters of Delivered Event
Parameter Name TypeM/
O/CDescription
monitorCrossRefID MonitorCrossRefID M Associates an event to an established...
connection ConnectionID M Specifies the connection that is alerting
alertingDevice SubjectDeviceID M Specifies that device that is alerting
callingDevice CallingDeviceID M Specifies the calling device
calledDevice CalledDeviceID M Specifies the originally called device
lastRedirectionDevice RedirectionDeviceID M Specifies the previous known...
. . . .
40
CSTACSTACall Event ReportsCall Event Reports
Null
Initiated
Connected
Connected
Connected
Null
Null
Null
Alerting
Connected
No Event Reported
Service Initiated
Call Originated
Delivered
Established
Device D1 Device D2Call C1
CSTA ConnectionStates
CSTA ConnectionStates
CSTA Event Reports
41
CSTA ExamplesCSTA Examples
42
Routing Services ExampleRouting Services Example
Route Enable (enabled)
Route Enable (positive ack)
IncomingACD Call Route Request (ANI,CallID,XRefID)
Route Select (Dest1234,XRefID)
Route End (XRefID)
43
Application Initialization ExampleApplication Initialization Example
Get Switching Function Devices
Switching Function Devices (x,y,z,…)
ApplicationInitialized
MonitorStartResp
SnapshotDevice (x)
MonitorStart (x)
SnapshotDeviceResp()
Make Call (x, y)
MakeCallResp ()
44
ACD Event FlowsACD Event Flows
Delivered (ACD,CallID,ANI,DNIS)
Queued(ACDGroup,CallID,ANI, DNIS)
IncomingACD Call
Diverted(ACD,CallID,Agent)
Established(Agent,CallId,ANI, DNIS)
Delivered(Agent,CallID,ANI, DNIS)