product/technology/architecture overview september 2012
TRANSCRIPT
Product/Technology/Architecture Overview
September 2012
Important Milestones
2000 – LiveOps founded in Florida
2001 – Callcast founded in California
2003 – LiveOps/Callcast merger
2004 – LiveOps becomes largest direct response (DR) call center
2005 – SaaS business launched, Red Cross relief
2006 – First large non-DR Agent Clients (Pizza Hut)
2007 – Tier 1 SaaS Customers (Fidelity, Accenture)
2008 – Marketplace/LiveWork initiative, PCI Compliance, Idol Gives Back
2009 – Enterprise Agent Business solidified, continued DR & SaaS growth
2010 – REST API and Salesforce.com integration launched
2011 – Completed acquisition and integration of Datasquirt for multichannel
2012 – Opened EMEA Voice PoP, started APAC Voice PoP project
© 2009 LiveOps, Inc. 2
1 - Agent connects to LiveOps Platform using web browser. Phone panel connects to Presence Server using persistent TCP connection. Presence server loads agent attributes from Local Data Store.
9 – If no agent available Call Manager places caller in Queue IVR. On agent availability, Call Manager chooses best available agent. Notification and screen pop delivered to agent via Presence Server connection.
3 – IVR or Enterprise Routing Engine send call data to LiveOps Transfer Data Service. TDS returns TFN for transfer.
4 – Call transferred by premise equipment to LiveOps. Call terminates at LiveOps Media Gateway which translates signaling to SIP and voice to RTP G.711. Incoming call load balanced by SIP Proxy to an available Call Manager.
5 – Call Manager establishes conference through Media Server. Media Server is responsible for managing RTP legs, mixing audio, and recording call to disk.
6 – Call Manager loads Campaign configuration based on DNIS from Local Data Store and attached data using DNIS/ANI pair from TDS.
7 – Call Manager connects to LiveOps IVR server for messaging, caller segmentation, etc. Media Server for IVR plays prompts, records, detects & generates DTMF.
10 – Call Manager establishes new call leg to agent. Agent leg is placed into Media Server conference. Agent can use Phone Panel for call control.
8 – Call Manager uses multicast protocol to perform distributed agent search. Presence Servers respond with best agent based on availability and Pool membership. Tunnel allows search across multiple data centers.
11 – On call completion, call recordings are transcoded and transferred to permanent storage. Call detail record is moved to Data Management System for warehousing and reporting.
2 – Customer dials TFN and is connected to a hosted or customer premise IVR or a customer premise Enterprise Routing Engine (Cisco, Genesys, etc.).
Telephony Platform: Lifecycle of a Call
Copyright © 2008 LiveOps, Inc. | Private and Confidential3
Copyright © 2008 LiveOps, Inc. | Private and Confidential3
TraditionalTDM Carriers
AdvancedIP Carriers
LeasedIP Networks
VVVVMedia
Gateway
SIP Proxy
Media Server
Media Server
Call Manager IVRServer
PresenceServer
Tunnel
Recycler
Dubber
Call RecordingStorage
Data Management System
Local Data Store
Hosted or Premise IVR
Transfer DataService
Customer
Enterprise RoutingEngine
Agent
Web Applications
TDM
SIP
RTP
Multicast
Data
Web/Presence
EncryptedSessionData
Session IDANIDN
EncryptedSessionData Session ID
ANIDNSession Data
Session IDANIDNSession Data
Engineering Philosophy
We are always available to take a call Highly distributed system with limited scope of failure of independent
components Releases and changes happen with systems online – no scheduled
downtime Application distributed to multiple data centers
Multi-tenancy with shared infrastructure Agile software development
Ship early and refine
Open Source preferred over proprietary/commercial Legal review of all open source projects used
© 2009 LiveOps, Inc. 4
Primary Systems
© 2009 LiveOps, Inc. 5Copyright © 2008 LiveOps, Inc. | Private and Confidential5
Inbound Call Routing Outbound Dialing Queuing IVR Call Recording CTI Presence Management
Call Center Administration Reporting & Monitoring Quality Management Communication Workforce Management
Tech Survey – Telephony and Presence
All components native to LiveOps Mostly Java-based components
One exception: Media Server (C++) SIP stack built and maintained in-house All components are redundant and load balanced
Call Manager Executes call flows Performs whole-call recording
IVR For self-service, plays announcements, menus, etc. into the call
Presence Tracks availability of agents for work assignment
SIP Proxy Manages assignment of inbound calls to call managers Ensures proper routing of outbound calls via proxy rules
© 2009 LiveOps, Inc. 6
Tech Survey – Web Applications
LAMP stack (general admin apps) Perl/Mason under Apache 1.3/mod_perl Ruby on Rails under Apache 2/Passenger
Windows Server stack (agent applications) IIS ASP.NET
© 2009 LiveOps, Inc. 7
Tech Survey – Data Management
Database: MySQL 5.1 (MyISAM and InnoDB) Configuration Data
MySQL – e.g. ccconf, callflow, nexus databases Slow changing, relatively small in size
Application Data MySQL – e.g. ccroute, ccoutbound databases Call managers, API servers Comparable read/write frequency, bounded growth
Historical Data MySQL – cclog and datamart databases Hadoop, ActiveMQ – fine-grained event/log data pipeline GreenPlum – distributed analytical database Ever growing, relatively large in size
Real-time Data RTM pipeline – scalable delivery to RTM dashboards Rapidly changing, relatively small in size
© 2009 LiveOps, Inc. 8
APIs & Integration
Desktop JavaScript API For integration with browser-based agent client apps Full control of agent capabilities (presence, call handling, etc.)
Platform Services API (PSAPI) User and configuration management Live call control Data transfer and statistics access
Data Exchange Data dips for intelligent routing External record creation and update Bulk data export and import (reporting and configuration data) Configuration driven
Developer Portal API documentation Sample code Developer support
© 2009 LiveOps, Inc. 9
Questions?
Integration Architecture
© 2009 LiveOps, Inc. 11
LiveOps InfrastructureLiveOps Infrastructure
RoutingRouting
ReportingReporting
RecordingRecording Comm
on
C
ompo
nent
s
LiveOps InfrastructureLiveOps Infrastructure
RoutingRouting
ReportingReporting
RecordingRecording Comm
on
C
ompo
nent
s
Integration - Core
© 2009 LiveOps, Inc. 12
Integration CoreIntegration Core
Data AccessData Access Dist. MemoryDist. Memory LoggingLogging
SecuritySecurity Configuration
Configuration SchedulingScheduling
MonitoringMonitoring ChannelsChannels PresencePresence
Integration – Data Exchange
© 2009 LiveOps, Inc. 13
LiveOps InfrastructureLiveOps Infrastructure
RoutingRouting
ReportingReporting
RecordingRecording Comm
on
C
ompo
nent
s
Integration CoreIntegration Core
Data AccessData Access Dist. MemoryDist. Memory LoggingLogging
SecuritySecurity Configuration
Configuration SchedulingScheduling
MonitoringMonitoring ChannelsChannels PresencePresenceData ExchangeData Exchange
Adapters (Salesforce, ReST Web Services,
etc.)
Adapters (Salesforce, ReST Web Services,
etc.)
TransformationTransformation
ConfigurationConfiguration
Response Response
Request Request External Web ServicesExternal Web Services
Integration – PSAPI
© 2009 LiveOps, Inc. 14
LiveOps InfrastructureLiveOps Infrastructure
RoutingRouting
ReportingReporting
RecordingRecording Comm
on
C
ompo
nent
s
Integration CoreIntegration Core
Data AccessData Access Dist. MemoryDist. Memory LoggingLogging
SecuritySecurity Configuration
Configuration SchedulingScheduling
MonitoringMonitoring ChannelsChannels PresencePresenceData ExchangeData Exchange
AdaptersAdapters
TransformationTransformation
ConfigurationConfiguration
PSAPIPSAPI
Routing MethodsRouting Methods
Configuration Methods
Configuration Methods
Reporting MethodsReporting Methods
Integration – Applications
© 2009 LiveOps, Inc. 15
LiveOps InfrastructureLiveOps Infrastructure
RoutingRouting
ReportingReporting
RecordingRecording Comm
on
C
ompo
nent
s
Integration CoreIntegration Core
Data AccessData Access Dist. MemoryDist. Memory LoggingLogging
SecuritySecurity Configuration
Configuration SchedulingScheduling
MonitoringMonitoring ChannelsChannels PresencePresenceData ExchangeData Exchange
AdaptersAdapters
TransformationTransformation
ConfigurationConfiguration
PSAPIPSAPI
Routing MethodsRouting Methods
Configuration Methods
Configuration Methods
Reporting MethodsReporting MethodsApplicationsApplications
LiveOps Apps (Web Callback, Proactive Chat, Agent Panels, Dashboards, etc.)
LiveOps Apps (Web Callback, Proactive Chat, Agent Panels, Dashboards, etc.)
Custom AppsCustom Apps
Roadmap: Regional DC Expansion
© 2009 LiveOps, Inc. 16