40

Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 1: Voxeo Summit Day 2 -Voxeo APIs and SDKs
Page 2: Voxeo Summit Day 2 -Voxeo APIs and SDKs

BUILD ON VOXEO

SERVICE PROVIDER INNOVATION AND TOOLS "

Page 3: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 4: Voxeo Summit Day 2 -Voxeo APIs and SDKs

Prophecy •  Provisioning API •  Monitor and Control API •  Trigger and control sessions

Voxeo CXP •  Web Service Interface

4

Agenda

Page 5: Voxeo Summit Day 2 -Voxeo APIs and SDKs

Provisioning API

PROPHECY"

Page 6: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 7: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 8: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 9: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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>

Page 10: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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>

Page 11: Voxeo Summit Day 2 -Voxeo APIs and SDKs

Application Management Prophecy Provisioning API

11

Applications: CallXML/CCXML/VoiceXML scripts or applications Routes/addresses: String associating an application with a token or DID.

Page 12: Voxeo Summit Day 2 -Voxeo APIs and SDKs

Server and Service Configuration

Prophecy Provisioning API

12

Servers: Physical hardware. Services: E.g. Loquendo ASR, Nuance ASR, Prophecy TTS, CCXML1.0, etc

Page 13: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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.

Page 14: Voxeo Summit Day 2 -Voxeo APIs and SDKs

User Management Prophecy Provisioning API

14

Page 15: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 16: Voxeo Summit Day 2 -Voxeo APIs and SDKs

Examples

• Get list of Servers:

./client.sh -host <host> -port 9996 -user <user> -passwd <pwd> -op GET_SERVERS

Prophecy Provisioning API

Page 17: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 18: Voxeo Summit Day 2 -Voxeo APIs and SDKs

Monitor & Control APIs

PROPHECY"

Page 19: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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& …

Page 20: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 21: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 22: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 23: Voxeo Summit Day 2 -Voxeo APIs and SDKs

Starting and managing sessions

PROPHECY"

Page 24: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 25: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 26: Voxeo Summit Day 2 -Voxeo APIs and SDKs

Web Service Interface

VOXEO CXP"

Page 27: Voxeo Summit Day 2 -Voxeo APIs and SDKs

The CXP Web Services Interface Voxeo CXP WSI

Documentation: http://help.voxeo.com/go/help/ vo.cxp13.webservices.reference.overview

Page 28: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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.

Page 29: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 30: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 31: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 32: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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.

Page 33: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 34: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 35: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 36: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 37: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 38: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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

Page 39: Voxeo Summit Day 2 -Voxeo APIs and SDKs

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”

Page 40: Voxeo Summit Day 2 -Voxeo APIs and SDKs

What are YOU going to build?

BUILD ON VOXEO