Voxeo Summit Day 2 -Voxeo APIs and SDKs

599 views
470 views

Published on

Voxeo APIs and SDKs including the Prophecy Provisioning API, CXP Web Service Interface and hosting APIs

Andreas Volmer, Voxeo Sr. Product Manager

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
599
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Voxeo Summit Day 2 -Voxeo APIs and SDKs

  1. 1. BUILD ON VOXEO
 
 SERVICE PROVIDER 
 INNOVATION AND TOOLS "
  2. 2. 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
  3. 3. Prophecy •  Provisioning API •  Monitor and Control API •  Trigger and control sessions Voxeo CXP •  Web Service Interface 4 Agenda
  4. 4. Provisioning API PROPHECY"
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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>
  9. 9. 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>
  10. 10. Application Management Prophecy Provisioning API 11 Applications: CallXML/CCXML/ VoiceXML scripts or applications Routes/addresses: String associating an application with a token or DID.
  11. 11. Server and Service Configuration Prophecy Provisioning API 12 Servers: Physical hardware. Services: E.g. Loquendo ASR, Nuance ASR, Prophecy TTS, CCXML1.0, etc
  12. 12. 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.
  13. 13. User Management Prophecy Provisioning API 14
  14. 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
  15. 15. Examples • Get list of Servers: ./client.sh -host <host> -port 9996 -user <user> -passwd <pwd> -op GET_SERVERS Prophecy Provisioning API
  16. 16. 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
  17. 17. Monitor & Control APIs PROPHECY"
  18. 18. 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& …
  19. 19. 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
  20. 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
  21. 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
  22. 22. Starting and managing sessions PROPHECY"
  23. 23. 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
  24. 24. 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
  25. 25. Web Service Interface VOXEO CXP"
  26. 26. The CXP Web Services Interface Voxeo CXP WSI Documentation: http://help.voxeo.com/go/help/ vo.cxp13.webservices.reference.overview
  27. 27. 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.
  28. 28. 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
  29. 29. 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
  30. 30. 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
  31. 31. 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.
  32. 32. 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
  33. 33. 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
  34. 34. 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
  35. 35. 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
  36. 36. 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
  37. 37. 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
  38. 38. 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”
  39. 39. What are YOU going to build? BUILD ON VOXEO

×