Your SlideShare is downloading. ×
  • Like
Voxeo Summit Day 2 -Voxeo APIs and SDKs
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Voxeo Summit Day 2 -Voxeo APIs and SDKs


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

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
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 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. Prophecy •  Provisioning API •  Monitor and Control API •  Trigger and control sessions Voxeo CXP •  Web Service Interface 4 Agenda
  • 4. Provisioning API PROPHECY"
  • 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: prophecy.p13.apis.provisioning.overview Prophecy Provisioning API
  • 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. 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. 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. Response Prophecy Provisioning API SOAP Response example <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV=" envelope/"> <SOAP-ENV:Header /> <SOAP-ENV:Body>     <ns5:ServerDetailListResponse […] >        <ServerDetail>            <ID>324b26eb3f4044d8bb1a034bcba53180</ID>            <Hostname></Hostname>        </ServerDetail> </ns5:ServerDetailListResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
  • 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. Server and Service Configuration Prophecy Provisioning API 12 Servers: Physical hardware. Services: E.g. Loquendo ASR, Nuance ASR, Prophecy TTS, CCXML1.0, etc
  • 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. User Management Prophecy Provisioning API 14
  • 14. Getting started Prophecy Provisioning API • Get the WSI client and run it in a terminal (command shell) window • 15
  • 15. Examples • Get list of Servers: ./ -host <host> -port 9996 -user <user> -passwd <pwd> -op GET_SERVERS Prophecy Provisioning API
  • 16. Examples • Create Application: -host <host> -port 996 -user <user> -passwd <pwd> -op CREATE_APPLICATION -appAutoanswer true -appDialogStrings dial1,dial2,dial3 -applicationName MyTestApp -appUrl1 -browserType VXML -virtualPlatformId 2c9086073a41a5e2013a41a603440272 Prophecy Provisioning API
  • 17. Monitor & Control APIs PROPHECY"
  • 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. 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. 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. 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. Starting and managing sessions PROPHECY"
  • 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. Trigger events in CCXML sessions CCXML Event Injection • 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. Web Service Interface VOXEO CXP"
  • 26. The CXP Web Services Interface Voxeo CXP WSI Documentation: vo.cxp13.webservices.reference.overview
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. What are YOU going to build? BUILD ON VOXEO