Cisco Cisco Computer Telephony Integration Option 8.5 Developer's Guide
4-4
CTI OS Developer’s Guide for Cisco Unified Contact Center Enterprise
Release 8.5(1)
Chapter 4 Building Your Application
Integrating your Application with CTI OS via the CIL
Warning
Never select the COM Components tab from the “Customize Toolbox” dialog box and never select the
CTI OS ActiveX controls. Doing this will cause Microsoft Visual Studio .NET 2005 to automatically
generate a set of private RCWs that are not optimized nor approved by Cisco, and may lead your
application for unexpected behavior that could result in application failure.
CTI OS ActiveX controls. Doing this will cause Microsoft Visual Studio .NET 2005 to automatically
generate a set of private RCWs that are not optimized nor approved by Cisco, and may lead your
application for unexpected behavior that could result in application failure.
3.
From the list, select the CTI OS RCW that corresponds to the CTI OS ActiveX Control you want to
add to the toolbox. For example, for the Agent State Control select the “AxAgentStateCtl”
add to the toolbox. For example, for the Agent State Control select the “AxAgentStateCtl”
4.
To add more CTI OS ActiveX controls, repeat steps 1 to 3.
Integrating your Application with CTI OS via the CIL
Creating an integration between your application and CTI OS via the CIL is straightforward. The first
step is to articulate the desired behavior, and to create a complete design specification for the integration.
step is to articulate the desired behavior, and to create a complete design specification for the integration.
Planning and Designing Your Integration
Good design depends upon understanding how CTI will fit into your application and workflow. Your
requirements analysis and design process should address the following points, as they relate to your
specific application:
requirements analysis and design process should address the following points, as they relate to your
specific application:
•
Start with the call flow. What kind of call processing is done before calls are targeted for a specific
skill? Determine how CTI data can be collected from the caller before the call arrives at an agent.
skill? Determine how CTI data can be collected from the caller before the call arrives at an agent.
•
Study the agent’s workflow. What are the points where CTI will be able to make the workflow
easier and faster? Build a business case for the CTI integration.
easier and faster? Build a business case for the CTI integration.
•
Evaluate what will CTI do for your application. A good approach is to make a list based on the
priority (e.g. screen pop, then call control) and then design and implement features in that order.
priority (e.g. screen pop, then call control) and then design and implement features in that order.
•
Design how CTI should work within your application. What are the interaction points? Get
specifications as to which screen will interact, and which data values should be sent between your
application and the CTI OS platform.
specifications as to which screen will interact, and which data values should be sent between your
application and the CTI OS platform.
•
Determine when the application should connect to the CTI OS Server. Some applications will
be server-type integrations that will connect at startup, specify a monitor-mode event filter, and stay
connected permanently. Agent-mode applications will connect up when a specific agent begins the
work shift.
be server-type integrations that will connect at startup, specify a monitor-mode event filter, and stay
connected permanently. Agent-mode applications will connect up when a specific agent begins the
work shift.
•
Clean up when you’re done. When and how does the application stop? Some applications will stay
up and running permanently, while others will have a defined runtime, such as the agent’s workday
or shift. For server-type applications without a specified stopping point, create an object lifetime
model and procedure for recovering no-longer-used resources. For applications with a specific
stopping point, determine the kind of clean up needs to be done when the application closes (e.g.
disconnect from server, release resources).
up and running permanently, while others will have a defined runtime, such as the agent’s workday
or shift. For server-type applications without a specified stopping point, create an object lifetime
model and procedure for recovering no-longer-used resources. For applications with a specific
stopping point, determine the kind of clean up needs to be done when the application closes (e.g.
disconnect from server, release resources).
What Language and Interface to Use
The CTI OS Client Interface Library API comes in programming languages, each with benefits and
costs. The choice of interface is important to direct you through this developer’s guide, since this guide
addresses the CIL API for the C++ and COM programming environments.
costs. The choice of interface is important to direct you through this developer’s guide, since this guide
addresses the CIL API for the C++ and COM programming environments.