450 likes | 919 Views
CSTA Overview. Source: Joao Armenio - Siemens Brazil. CTI. CSTA. CSTA. C omputer S uported T elecommunications A pplications CSTA is an OSI layer 7 protocol which is defined to communicate a Computer Network with a Telecommunications Network. CSTA Who defines it?.
E N D
CSTA Overview Source: Joao Armenio - Siemens Brazil
CTI CSTA
CSTA Computer Suported Telecommunications Applications CSTA is an OSI layer 7 protocol which is defined to communicate a Computer Network with a Telecommunications Network.
CSTAWho 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
CTI Overview
CTIDefinition PBX providing Telephony Information to Computer Application Computer Application controlling PBX CTI
CTIDefinition • 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)
CTIFirst Party vs. Third Party CTI Application First Party Call Control - CTI application has the ability to control/monitor a single device. Third Party Call Control - CTI application has the ability to control/monitor more than one device. CTI Application
CTIExamples of Features ACD Call Control Line/Set Control ACD Features Get/Set Agent State Make Call Answer Transfer Conference Hold & Retrieve Hang Up Device Features Speaker On/Off Mute Get/Set MWI Get/Set Button State
CTIACD Call Call Arrives on Trunk Call Enters IVR CTI Events Call Enters ACD Time Call Delivered to Agent Conversation
CTIAPI 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.
CTIProtocols/API´s • CSTA - protocol from ECMA • TAPI - API from Microsoft • JTAPI - API from Sun
CTI API´s AND PROTOCOLS ACD Call Control Line/Set Control CallPath CSTA Phase I and II TAPI 1.0 TSAPI JTAPI
CTI API´s AND PROTOCOLS ACD Call Control Line/Set Control CallPath CSTA Phase III TAPI 2.x and 3.0 TSAPI JTAPI
CSTA 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
CSTA 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
CSTA 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).
CSTAModelling Device Modelling • Physical Elements • Logical Elements • Device Configurations • Device Ids • Device Categories
CSTA ModellingPhysical and Logical Elements Speaker Buttons Display A P L Hookswitch Microphone A Ringer Lamps Auditory Apparatus
CSTADevice Configuration P1 P2 L3 A A Bridged Device Configuration
CSTADevice ID´s • Diallable Number • Switching Function Representation • Device Number
Station Device Category Network Interface Device Category ACD Device Category Park Device Category Other Device Category Group Device Category CSTA Device Categories
CSTACall Modelling Call Identification D1 C1 D2 Connection Id C1D2 Connection Id C1D1
D3 D4 D7 C2 D1 C1 D2 C3 D8 D5 D6 CSTACall Modelling Consultation Campon Conference
CSTATypes of Messages • 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.
CSTAGroups of Services • Capability Exchange Services • System Services • Monitoring Services • Snapshot Services • Call Control Services • Call Associated Services • Media Attachment Services • Routeing Services
CSTAGroups of Services (cont.) • Physical Device Services • Logical Device Services • I/O Services • Voice Unit Services • Call Detail Recording Services • Escape Services
CSTAGroups 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
CSTA - Example of ServiceConditions for Consult Call Before Service After Service D1 C1 D2 D1 C1 D2 c * h * D3 C2 a,c, q,n,f D3 c
CSTA - Example of ServiceParameters of Consult Call Parameter Name Type M/ O/C Description 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 ... . . . .
CSTA - Example of ServiceConsult 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)
CSTA - Example of ServiceConsult 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...
CSTA - Example of ServiceConsult 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…
CSTA - Example of ServiceConsult 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) }
CSTA - Example of ServiceConsult 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} }
CSTA - Example of Conditions for Delivered Event Before Event After Event D1 a,c, q,n,f C1 D2 D1 C1 D2 * a *
CSTA - Example of ServiceParameters of Delivered Event Parameter Name Type M/ O/C Description 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... . . . .
CSTACall Event Reports Device D1 Call C1 Device D2 Null No Event Reported Null Initiated Service Initiated Null Connected Call Originated Null Connected Delivered Alerting Connected Established Connected CSTA Connection States CSTA Event Reports CSTA Connection States
Routing Services Example Route Enable (enabled) Route Enable (positive ack) Incoming ACD Call Route Request (ANI,CallID,XRefID) Route Select (Dest1234,XRefID) Route End (XRefID)
Application Initialization Example Application Initialized Get Switching Function Devices Switching Function Devices (x,y,z,…) MonitorStart (x) MonitorStartResp SnapshotDevice (x) SnapshotDeviceResp() Make Call (x, y) MakeCallResp ()
ACD Event Flows Incoming ACD Call Delivered (ACD,CallID,ANI,DNIS) Queued(ACDGroup,CallID,ANI, DNIS) Diverted(ACD,CallID,Agent) Delivered(Agent,CallID,ANI, DNIS) Established(Agent,CallId,ANI, DNIS)