voxeo summit day 2 -voxeo apis and sdks

40

Upload: voxeo-corp

Post on 01-Nov-2014

400 views

Category:

Technology


7 download

DESCRIPTION

Voxeo APIs and SDKs including the Prophecy Provisioning API, CXP Web Service Interface and hosting APIs Andreas Volmer, Voxeo Sr. Product Manager

TRANSCRIPT

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