3. Our goal: Enable any conceivable task for
automation and integration with 3rd party
products
• Monitoring and Control
• Configuration and Provisioning
• User and License Management
• Application Deployment
• Application Development
BUILD ON VOXEO
4. Prophecy
• Provisioning API
• Monitor and Control API
• Trigger and control sessions
Voxeo CXP
• Web Service Interface
4
Agenda
6. Overview
• Designed for Service providers
• Allow their customers to manage services/applications in
the Prophecy community
• Automated management
of servers and virtual
platforms
• User Management
• SOAP Based
• Stateless
• Documentation:
http://help.voxeo.com/go/help/
prophecy.p13.apis.provisioning.overview
Prophecy Provisioning API
7. Integration
• There are two ways to use the Provisioning API:
• Java-based Command line client (Windows/Unix/MAC)
• Build your own Web Services client
• WSDL Located at:
http://localhost:9996/ManagementConsole/soap/provisioning.wsdl
Prophecy Provisioning API
8. Security
For security, basic SOAP authentication is needed
• Command Line – this is done for you
• Web Services – the SOAP Request Header must
contain:
• Username,
• Password (SHA-1 hashed and base64 encoded),
• And as an additional security measure, “nonce” is
also required.
Prophecy Provisioning API
11. Application Management
Prophecy Provisioning API
11
Applications: CallXML/CCXML/
VoiceXML scripts or applications
Routes/addresses: String associating
an application with a token or DID.
13. Virtual Platform Configuration
Prophecy Provisioning API
13
Virtual Platforms
Set of logically grouped services (ASR/
TTS/CCXML/etc). Route or resources are
always selected based on a combination
of VP and the site.
15. Getting started
Prophecy Provisioning API
• Get the WSI client and run it in a terminal
(command shell) window
• http://help.voxeo.com/go/help/prophecy.p13.apis.provisioning.client.overview
15
16. Examples
• Get list of Servers:
./client.sh
-host <host>
-port 9996
-user <user>
-passwd <pwd>
-op GET_SERVERS
Prophecy Provisioning API
19. Monitor and Control
Prophecy APIs
• APIs for monitoring and
controlling Prophecy in
production
• HTTP Post API
• Several data formats
supported for response
(XML, CSV)
• E.g.: …&format=xml& …
20. Stats_10
Prophecy APIs
• Monitor performance and usage data
• Examples
• How many ports are licensed / in use? (for VXML, CCXML,
MRCP, TTS, ASR, …)
• Retrieve a list of all port and session counter data, including
browser type, session URLs, and Virtual Platform data
• Some Use cases
• Create applications to monitor or control calls based on the
status of your Prophecy system.
• Create applications to dynamically update a status monitor
as described in the blog entry, Building a Custom Stats
Monitor for Voxeo Prophecy.
• In CCXML, you can control a call based on port availability.
20
21. Scm_10
Prophecy APIs
• Monitor, control, and update Voxeo Prophecy
Services.
• vphone - Prophecy SIP Phone Service
• splunkweb - Prophecy Log Search Service
• splunkd - Prophecy Log Indexer Service
• vdirectory - Prophecy Directory Service
• vmc - Prophecy Commander Service
• vprism - Prophecy PRISM Server Service
• vserver - Prophecy Server Service
21
22. Quiesce_10
Prophecy APIs
• For maintenance or testing, you may need to
remove a Prophecy server that actively
handles calls from service.
• With the quiesce_10 API, you can direct Prophecy
to stop taking any new calls, and allow any calls in
progress to finish.
• Use the sessions_10 API to monitor session data
to determine when all calls are complete
• To end zombie sessions without having to restart
Prophecy Services, use the ctrl1_0 API.
22
24. Start outbound applications / calls
Prophecy Token API
• The Token API is a HTTP based API that allows to
start a CCXML session, or to trigger an outbound
call connected to a VXML session
• TokenID is either a route name (premise),
or Voxeo-provisioned GUID (cloud)
• Separate service for each browser
http://{server}:9998/SessionControl/VoiceXML.start
http://{server}:9999/SessionControl/CallXML.start
http://{server}:9999/SessionControl/CCXML10.start
25. Trigger events in CCXML sessions
CCXML Event Injection
• http://api.voxeo.net/SessionControl/CCXML.send?
sessionid=<sessionId>&eventname=<eventName>
Or
• http://localhost:9999/SessionControl/CCXML.send?
sessionid=<sessionId>&eventname=<eventName>
• Use cases
• Send asynchronous events from VXML to CCXML
without having to kill the VXML dialog
• Build complex conference moderator type
applications where a web UI drives actions in a
running conference call
25
27. The CXP Web Services Interface
Voxeo CXP WSI
Documentation: http://help.voxeo.com/go/help/
vo.cxp13.webservices.reference.overview
28. The CXP Web Services Interface
Voxeo CXP WSI
• For administration tasks, similar scope as
Prophecy Provisioning API
• Useful to Service Providers
• Automate administration tasks and enable end
customers to self-provision applications
• SOAP-based
• Session-oriented
• Start a WSI session with a Login operation, end
it with a Logout operation.
29. Typical Use Cases
Voxeo CXP WSI
• Automate administration tasks
• Schedule service deployments
• Idle and stop server instances for hardware
maintenance
• …
• Create new GUIs for CXP provisioning tasks
• Create projects and upload project definition files
• Configure Services and deploy them
• Get current activity status
30. The CXP Web Services Interface (WSI)
Voxeo CXP WSI
• Anything that can be done in CXP Developer can
be done via the WSI
• CXP Developer connects to CXP Server via WSI
for any kind of tasks (both Dev and OA&M)
WSI CXP Server
Metadata
Repository
31. User Access Control
Voxeo CXP WSI
31
• User access control
applies in the same
way as for activities in
CXP Developer
• WSI access must be
explicitly granted
• WSI activities are
logged in audit trails
32. Security Commands
Voxeo CXP WSI
• Login / Logout
• User Management
• Change password
• Kill sessions
• writeAuditTrail
• provides the ability to write custom messages to the
Voxeo CXP audit trail.
33. Server Management
Voxeo CXP WSI
• Start/stop/idle/resume
Servers and Server
Instances
• Manager Server and
Service configuration
• Manage licenses
• Activate tracing
• Get live data
34. Server Management
• Returns the current status of the specified server,
including information about the
• Active/finished/aborted/rejected calls
• Logging and tracing configuration
• Session limits and guarantees
• For all deployed services and server instances
queryServer
Voxeo CXP WSI
Same scope of
Information as in
CXP Commander
35. Service Management
Voxeo CXP WSI
• Start/stop/idle/resume
services
• Create and modify Service
objects (i.e., provision
applications)
• Deploy services from
• Metadata Repository DB
• VoiceObjectsXML files
36. Project Management
Voxeo CXP WSI
• You’ll probably never touch
this set – these methods
are for used for actual
project development work
• Would be used to create an
alternative CXP development
environment
37. User Management and Log Access
Voxeo CXP WSI
• Create and modify users
• Manage user access grants:
ACLs (access control lists)
• Get access to log files and
trace files
38. You saw APIs for Prophecy and CXP for
• Monitoring and Control
• Server and Platform Configuration
• Service and Number Provisioning
• Application Deployment
• User and License Management
• Application Development
BUILD ON VOXEO
39. More APIs available in Voxeo hosting:
• Location Lookup (LBS)
• Wireless vs landline detection
• ANI Spoof Detector
• Voice Biometrics
Now …
BUILD ON VOXEO
à presentation on
“Securing Customer
Interactions”