Upload
voxeo-corp
View
400
Download
7
Embed Size (px)
DESCRIPTION
Voxeo APIs and SDKs including the Prophecy Provisioning API, CXP Web Service Interface and hosting APIs Andreas Volmer, Voxeo Sr. Product Manager
Citation preview
BUILD ON VOXEO
SERVICE PROVIDER INNOVATION AND TOOLS "
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
Prophecy • Provisioning API • Monitor and Control API • Trigger and control sessions
Voxeo CXP • Web Service Interface
4
Agenda
Provisioning API
PROPHECY"
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
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
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
Security Prophecy Provisioning API
SOAP Request Header example <soap:Header>
<wsse:Security xmlns:wsse="http://..." soap:mustUnderstand="1"> <wsse:UsernameToken xmlns:wsu="http://…" wsu:Id="UsernameToken-1">
<wsse:Username>admin</wsse:Username> <wsse:Password Type="http://…">m6sSYz22QCX0pCYfidi16NO/+4k=</wsse:Password> <wsse:Nonce EncodingType="http://…">/PM9ge0rBFKp9VPlhHOMhg==</wsse:Nonce> <wsu:Created>2013-05-14T19:37:18.527Z</wsu:Created>
</wsse:UsernameToken> </wsse:Security>
</soap:Header>
Response Prophecy Provisioning API
SOAP Response example <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header /> <SOAP-ENV:Body> <ns5:ServerDetailListResponse […] > <ServerDetail> <ID>324b26eb3f4044d8bb1a034bcba53180</ID> <Hostname>127.0.0.1</Hostname> </ServerDetail> </ns5:ServerDetailListResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Application Management Prophecy Provisioning API
11
Applications: CallXML/CCXML/VoiceXML scripts or applications Routes/addresses: String associating an application with a token or DID.
Server and Service Configuration
Prophecy Provisioning API
12
Servers: Physical hardware. Services: E.g. Loquendo ASR, Nuance ASR, Prophecy TTS, CCXML1.0, etc
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.
User Management Prophecy Provisioning API
14
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
Examples
• Get list of Servers:
./client.sh -host <host> -port 9996 -user <user> -passwd <pwd> -op GET_SERVERS
Prophecy Provisioning API
Examples
• Create Application: client.sh -host <host> -port 996 -user <user> -passwd <pwd> -op CREATE_APPLICATION -appAutoanswer true -appDialogStrings dial1,dial2,dial3 -applicationName MyTestApp -appUrl1 http://acme.com/myVXMLapp.xml -browserType VXML -virtualPlatformId 2c9086073a41a5e2013a41a603440272
Prophecy Provisioning API
Monitor & Control APIs
PROPHECY"
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& …
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
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
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
Starting and managing sessions
PROPHECY"
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
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
Web Service Interface
VOXEO CXP"
The CXP Web Services Interface Voxeo CXP WSI
Documentation: http://help.voxeo.com/go/help/ vo.cxp13.webservices.reference.overview
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.
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
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
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
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.
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
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
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
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
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
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
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”
What are YOU going to build?
BUILD ON VOXEO