voxeo summit day 2 -voxeo apis and sdks

Post on 01-Nov-2014

399 Views

Category:

Technology

7 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

top related