Software Developer’s Kit (SDK)
Insure your converged contact center success
through time tested and award winning
Convergence Friendly
®Architecture and free
developer support. Calltrol Corporation…for
everything you’ve got on the line
®.
Calltrol Corporation 400 Columbus Avenue Valhalla, NY 10595 914-747-8500 voice 914-747-8595 fax www.calltrol.com
©2001,2002 Calltrol Corporation Rev. 6.2
This document contains trademarks of Calltrol Corporation, Microsoft Corporation and others. The information in this document was believed to be accurate at the time of publishing. Calltrol Corp. it’s affiliates and assigns make no warranty
The Calltrol Difference
Open By Design
For over 13 years, Calltrol Corp. (formerly Buffalo International, Inc. & Buffalo Audiotex, Inc.) has pursued a unique and pragmatic vision of creating a “truly open” telephony server platform for contact centers. The Calltrol solution is set apart from the alternatives because it’s been designed from inception to support developers…their goals, dreams and chosen application environment. Unlike most alternatives, which are either “turnkey” packages or are otherwise restricted in flexibility, our products are based on a recognition that technology value in the contact center derives mostly from the data and applications that use that data. We have found that there are two areas of technology value in contact centers: telephony automation & data processing. While a powerful platform like OTS can handle the most complex, integrated call processing requirements, applications and data management always vary among industries and organizations. Thus, when it comes to databases, applications and reporting a “one size fits all” approach would not adequately empower our clients. Through flexible, real-time interfaces that insure call-handling performance can be met, we empower corporate and commercial developers to integrate or build whatever applications best suit their needs, without concern over development or feature limitations of the telephony server.
How open?
• Hardware Independent
Besides running on standard PC hardware, Calltrol products support multiple telephony hardware brands in the same system including Intel/Dialogic, Aculab, Realtime Systems & Audiocodes. We constantly seek out, evaluate and add support for new products and standards to insure optimal value for our clients. We
evaluated and programmed under many other brands & standards through the years often excluding support because of quality and value concerns.
Client applications for the Object Telephony Server may run on any hardware/OS combination provided they can communicate with the OTS system via TCP/IP. (see more below)
• Operating System & Development Language Independent
While OTS™ (Object Telephony Server) itself including the telephony hardware, runs on a PC with
Windows NT 4.0/2000, client applications leveraging OTS services can be running on any operating system. In fact, multiple client applications running multiple operating systems can all be simultaneous OTS clients. The only requirement is that they communicate with the OTS system via TCP/IP. Tools and examples are provided to speed implementation under most language/OS combinations.
• Database Independent
Except for real time internal data arrays, the core OTS package excludes dependence on any specific databases. The typical solution design depends on client application(s) to communicate with OTS through our comprehensive “mid-level” API. Database support is dictated by the developer’s application design. We like to call our API “mid-level” because it provides low level control with high level ease of use.
Solid Foundation
Today’s OTS is the product of over a decade of experience and research. Our planning has always pointed toward one goal. Consistent focus on developing the most comprehensive and open telephony platform for contact centers began in 1989 and continues in 2002. As the pioneer in open contact center telephony Calltrol possesses unique and greater experience than any other “telephony server” vendor.
OTS has evolved along with the PC/Microsoft foundation, and increased features, performance and capacity of PC based telephony hardware.
Calltrol has been a beta tester and major contributor to the development of many hardware & software products at the heart of a paradigm shift in modern contact center technology.
Constant Advancement
When you choose OTS to support your application’s telephony needs you are future proofing your solution. Because of our focus, being the telephony appliance for contact centers…excluding surrounding applications and databases, our full efforts are always behind implementing the latest telephony technology if it:
• Meets our rigid quality standards
• Improves the overall value derived by customers
You bring the full power of our years of experience and our broad demanding customer base to bear when you “outsource” your telephony to us and focus on your specific application needs…where you will ultimately generate the most value.
Today’s Object Telephony Server
Core features/functions in the present release
At the time this was written OTS version 6.0 was the current shipping version. This highly integrated and multifunctional switching and routing mechanism represents a huge advance from our original OAPDE™ (Open Architecture Predictive Dialing Engine) of the early ‘90s.
• Telecommunications Interfacing
Most common digital and analog formats are supported including: Loop Start Analog (Trunk/Line/C.O. and Station/Line) Primary rate and robbed bit T1 & E1 digital lines Basic rate ISDN and Ethernet VoIP
When discussing your implementation we will use “line” (for trunk/C.O side) & “station” (for the telephone instrument/agent/operator side).
• Data Communications
OTS supports a message based TCP/IP API. It is completely independent of external hardware, operating systems, file systems, databases and applications.
• Popular Applications for OTS
The most common reason for licensing OTS is to add complex, high-value, call processing capabilities to internally developed data processing applications. Some examples are:
Predictive Dialing Intelligent Call Routing Interactive Voice Response
Preview/Auto Dialing Message Delivery Conference Calling Conversation Recording Automatic Call Distribution Observation & Coaching
To allow developers to embed these features within their applications, OTS offers over 100 API functions fitting into three categories. Internal management of telephony hardware resources is automatic.
Function Detail
• Advanced Call Processing Features
Predictive Dialing - list/record management, performance control
Automatic Call Distribution (ACD) – DNIS/ANI, skill, IVR & database routing. Interactive Voice Response (IVR), Voice Messaging, Intelligent Call Routing
Conferencing – easily implemented third party conference, silent observation, silent coaching and conversation recording.
OTS Extensions - Simple interface for creating complex call handling routines that employ various modes of inbound/outbound, live agent and automated interaction
• Additional Telephony Functions (many of which are automatically incorporated into the Advanced Call Processing Features listed above:
Answer and dial calls, perform call progress analysis, get DTMF digits, play/record speech, hold, retrieve, transfer, hang up, full ISDN support including sending outbound caller ID info through public network.
• Management Functions
Text messaging hub, project/group management, ACD statistics, queue management, real-time status, general configuration, performance parameters, real-time & file based transaction logging/event notification, call data retrieval, facilitation of real-time call data display and/or “screen pop” for each agent throughout each call.
OTS Management GUI
The OTS Server provides comprehensive displays of real-time system information. Configuration screens for certain fixed system settings are also provided. Here are a few samples:
Other OTS Programming Tools
In addition to our standard API we also have open interfaces to facilitate the following types of independent OTS integration:
Add additional telephony hardware support to the OTS server application.
Add additional non-telephony media processing hardware support to the OTS server application. Add additional/alternative media queuing to the OTS server routing/screen pop engine (open architecture multi-media queuing).
Server Implementation Strategies
OTS is a consolidated, free standing, switching and call processing system. It may be interfaced with other switches, other OTS units connected to leased lines, voice over IP circuits and multiplexors. OTS units can run in tandem (hot standby) or with fully configured spare systems (cold standby).
Hardware Environment
• Server Operating System
While OTS will provide services to any application in accordance with the above specifications, the OTS version 6.0 software requires Windows® NT 4.0/2000 workstation and the requisite telephony hardware and drivers for your particular configuration.
• Telephony Hardware
We presently support all SCSA compatible Intel/Dialogic call processing cards. We perform dynamic real-time SCSA resource management on all digital interface cards, MSI cards and conference cards. If you are implementing analog line cards (D41ESC, D41JCT, D160SC-LS, etc.) the voice resources on these boards are not shareable due to limitations in the design of Dialogic’s analog line control system. Other products currently supported are Realtime Systems Vendetta conferencing boards (VND256 recommended) and various rapidly evolving Audiocodes and Aculab products (please call to confirm compatibility). New products are constantly under evaluation.
Planned Advances
The majority of change coming for OTS in the near future revolves around failure proofing, capacity increases and hardware independence. While the OTS system is one of the most stable PC based phone systems in the world, most implementations continue to entail a single point of failure. We are always working toward achieving capacity and stability equal or better than any phone system in the world with progress made every day.
We strive to insure backward compatibility of new releases with existing client applications. This policy allows you to benefit immediately each time we enhance the system. Our simple, distributed, modular and high performing telephony infrastructure is designed to support your application’s goal of increased productivity and customer satisfaction.
Applications & Success Stories
Since 1989 we have grown with our customers. We simply could not have done it without their great efforts and achievements.
To get a better look at what we are talking about please read the latest magazine articles on our website:
http://www.calltrol.com/articles2002.htm and the publications listed below at: http://calltrol.com/wp.htm. • New Solutions for Old Challenges…
This is a look at converging media in the modern contact center with actual customer success profiles. • Saleslogix/CRM Whitepaper…
Software Developer’s Kit (SDK) Overview and Contents
What is it?
Calltrol Corporation’s Object Telephony Server Software Developer’s Kit is a collection of files normally delivered via Internet download, specifically designed to facilitate integration of OTS services into third party applications. In addition to documentation, example applications and source code, the kit includes the actual OTS server application, which in the standard SDK runs in simulator mode.
OTS simulator mode does not control telephony hardware and simulates only a limited range of OTS functions suitable for simulation.
OTS (server) Simulator
The OTS Simulator requires Windows® NT or 2000 workstation.
Features that can be most thoroughly tested in simulator mode relate to predictive dialing. Because the simulator does not actually support or use call processing boards, features that entail inbound calls, and voice prompting are difficult to simulate. Predictive dialing on the other hand is based on automatically generated outbound calls…under full control of the OTS system. By simulating the various possible outcomes, reporting events and routing the call to an agent, the simulation is complete and effective.
Sample applications are provided to fully demonstrate the predictive dialing capabilities of the simulator and to demonstrate other functions with a “run time” license (one that supports telephony hardware).
SDK Plus
We offer a 4 port OTS FULL license for development only, bundled with a 4 port Dialogic D41ESC board and a 4 port central office simulator. This enables testing and demonstration of all inbound/outbound/IVR type applications without any external phone lines. To perform conference related functions including silent observation and coaching and conversation recording, additional hardware is required.
Demonstration License
Qualified resellers may obtain a 4-port 30 minute run-time license for sales & application testing purposes.
Contents
OTS server executable program
ActiveX controls (Win32 communications wrapper) with source code C/C++ Library (Linux communications wrapper) with source code Developer’s Manual (MS Word 2000 .doc & Adobe Acrobat .pdf)
Sample Outbound, Inbound and Monitoring/Coaching client applications with VB source code (Windows) Sample Outbound and Inbound client applications with C/C++ source code (Linux)
Sample OTS Extension Library with VB source code
Developer Tools and Support
Client Application Examples (Windows/Visual Basic 6.0)
The following sample applications will run immediately against a properly configured OTS system. The VB source code is included. VB applications communicate with OTS using our ActiveX control, which provides a high level entry point for our underlying TCP/IP message based data communications interface.
Outbound Predictive Dialing - uses an OTS extension, will run on simulator
Inbound - uses an OTS extension, requires run-time HW support and inbound feature license Monitoring/Coaching - requires run-time HW support (including a conference resource board) and monitoring & coaching feature license
Client Application Examples (non-Windows)
The following sample applications will run immediately against a properly configured OTS system. The source code is included. Linux applications communicate with OTS using a C/C++ library, which provides a high level entry point for our underlying TCP/IP message based data communications interface.
Linux:
Outbound - C/C++, will run on simulator
Inbound - Uses C/C++, requires run-time HW support and inbound feature license
Application Design Assistance (ADA)
To insure complete and rapid success with your development we include with each SDK our exclusive Application Design Assistance service. Once you have licensed the SDK an experienced and knowledgeable developer liaison will schedule a conference call during which they will thoroughly familiarize themselves with your business and technical needs. Because OTS is so flexible there are often a variety of
implementation strategies available. By educating ourselves about you and your needs, it better prepares us to guide you through the development process.
Ultimately all development decisions are yours. We will however draw upon the experience and resources of our entire engineering department to insure that you receive thorough information upon which to base these design decisions and to insure that your implementation process moves smoothly.
Unlike other vendors in the field Calltrol Corp. specifically designed OTS from inception as a tool for application developers. That is the audience our organization is constructed to support. While competitors may offer developer tools as after thoughts, we have built our business on successful development
partnerships.
Ongoing Development Support
Application Programming Interface (API)
Summary of Selected Commands
Agent Level Commands
SET_USER_DATA
Register an agent log-on with the telephony platform. The parameters of this command tell the platform the agent's physical voice channel number (i.e. extension), group ID, and agent ID.
CONNECT
Connect two calls on hold.
PULL_NEXT_CALL Agent is ready.
XDIAL
Make a call on a trunk in a specific group. DIAL
Dial a specified number.
TERMINATE_SESSION
Terminate the current user session. TERMINATE_CALL
Hang up.
MAKE_3WAY_CONFERENCE Establish a 3-way conference call. TRANSFER_TO_AGENT
Transfer the call to any other agent.
DELETE_CONFERENCE Remove the 3-way conference. HOLD
Put the current call on hold.
RETRIEVE
Retrieve a call that was put on hold.
Supervisor Level Commands (automatically or manually invoked)
START_VOICE_LOGGING Begin recording a call.
START_MONITOR
Begin silent observation of a call. STOP_VOICE_LOGGING
Stop recording a call.
STOP_MONITOR
Stop silent observation of a call.
CHANGE_TO_COACHING Change mode from silent observation to
Control Level Commands
ESM_START
Begin OTS™ operation.
ENABLE_EVENT
Report events in real-time to the control application.
ADD_PROJECT
Add a project to the OTS server.
DISABLE_EVENT
Write events to a user-defined file. REMOVE_PROJECT
Remove a project from the OTS server.
GET_PROJECT_INFO
Get information on a project, such as drop rate, number of phone records left in queue, and also the initial information entered with the SET_PROJ_PARAMETER command.
RESTART_PROJECT
Resume dialing on a stopped project.
GET_CALL_INFO
Get information on an outbound project, including the number of call connects, attempts, and drops. SET_PROJECT_LINE
Assign a line to a project. SET_PROJ_PARAMETER
Set parameters such as the predictive dialing pacing multiplier.
ADD_DIALING_RECORD
Add a new record to a predictive dialing project. This will include the phone number and any information important for the agent application.
STOP_PROJECT
Stop OTS™ from dialing on a project. EXECUTE_OTS_EXTENSION GET_CALL_INFORMATION
Sample Agent Application Logic
An operational OTS Server in a live agent environment will have
simultaneous control and agent client applications connected via TCP/IP. The following only exemplifies the theory of communication based on the agent client typical requirements.
Actual examples of control and agent client applications, with source code are included with the SDK.
Make connection to OTS Network call "OTS" SET_USER_DATA (1) Prompt user for choice: Continue, go to (2)
Terminate session, go to (3) (2) Prompt user for choice:
READY, DIAL, XDIAL, RETRIEVE, conference Ready, go to (4)
Dial number, go to (5)
RETRIEVE, talk, other call options (4) Ready
Wait for call arrive event Process data and talk to party
Prompt user for choice: HOLD, go to (2)
HANGUP, go to (1)
(5) Choice of DIAL or XDIAL
Process data and talk to party Prompt user for choice:
HOLD, go to (2) Hangup, go to (1) (3) Close files TERM_CURRENT_SESSION Network hangup exit
Calltrol Product Licensing
Calltrol pricing, relative to the service and quality provided is among the best in the industry. We have developed dynamic pricing structures that regardless of your application requirements, will ensure that overall cost is always extremely competitive.
Software Developer’s Kit (SDK)
Furnished to qualified developers in accordance with a signed Software Developer’s Kit License Agreement. Contact Sales for current pricing*
Object Telephony Server (OTS) – (Runtime Licenses)
The OTS runtime license fee is based upon two criteria:
1. The number of physical telephony interface ports the server can address. This is not the number of SCSA total ports or “resources” which would also include conference board channels, fax and voice processing resources, etc. The number of ports licensed need not match the number of physical telephony ports in the system. The software simply needs to be configured as to which ports it will address.
2. The number of feature modules active. There are 10 feature modules currently available when ordering OTS. The API manual specifies which features are necessary to access each function. In general the modules and their “group” values are stated below:
Our price structure is designed to provide incremental discounts based upon the number of ports and modules licensed for each telephony server. System expansion fees are based on the number of ports being added, not the number of original or resulting total system ports. This provides a cost incentive to license more ports at the time of initial license acquisition. Likewise with modules, the lowest cost per module always occurs when the most modules are being licensed at the same time. Upgrading to a few new modules will cost the same as if only a few modules were being licensed initially irrespective of the resulting total number of modules after the upgrade.
Please contact your sales person to determine your optimal configuration and the requisite pricing.
Calltrol Historian
Calltrol Historian is an add-on product that provides some generic features you would otherwise implement within your own client applications. Historian operates independently of any client applications you develop to provide services divided into two core modules:
Full time (by campaign & schedule) digital conversation recording control & playback. Real-time OTS transaction logging and reporting (with graphic display and observe/record interface)**
Because Historian maintains system-wide information and includes complex multi-segment digital recording controls, which allow consistent recording of calls regardless of transfers, hold/retrieve and conference functions invoked it is also licensed on a module & port basis.
* Please see “Ongoing Development Support” for limitations. ** Unreleased features expected 2nd half of 2002.
Contact Information
David Friedman, Vice President of Marketing & Sales [email protected] 877-673-6284/914-747-8500 x141
David Rubin, Vice President of Business Development, [email protected] 877-673-6284/914-747-8500 x124
Developer & Technical Support, (Provided to licensed developers with “Welcome” package.)