Date post: | 20-May-2015 |
Category: |
Technology |
Upload: | voxeo-corp |
View: | 1,330 times |
Download: | 0 times |
SpeechTEK2011 – D202 - Managing Phone Calls 1
CCXML For Advanced Communications Applications
RJ AuburnCTO, VoxeoEditor in Chief, CCXML
Paolo BaggiaDirector International Standards, LoquendoCo-Editor, CCXML
SpeechTEK2011 – D202 - Managing Phone Calls 2
Outline
Voxeo and Loquendo Today Introduction
– What is CCXML? Where is it today? CCXML vs. VoiceXML:
– Complementary and/or Supplementary Intro to CCXML Basic Application Scenarios Advanced Application Scenarios More Information and Resources
SpeechTEK2011 – D202 - Managing Phone Calls 3
Voxeo Company Profile
Founded in 1999 World’s only triple cloud offering – Over 90,000 hosted ports
globally; thousands of private and hybrid deployments Over 200,000 developers using one or more of Voxeo’s three
clouds The Voxeo difference: Customer Obsession Teams, Unlocked
Communications, Communications Passion
3 Proprietary and Confidential
SpeechTEK2011 – D202 - Managing Phone Calls 4
Headquarters in Torino
Customers in over 50 countries
Over 100 patents worldwide
Multilingual, proprietary technologies in 31 languages
and in 75 voices
Market leader for award-winning voice technologies
Global Company
Company Profile
Founded in 2001 as spin-off of Telecom Italia Lab, capitalizing the 30yrs experience
Text-To-SpeechSpeech RecognitionSpeaker Verification
by
Local representative sales offices in New York, Rome, Madrid, Paris, London, Munich
www.loquendo.com
Loquendo Company Profile
SpeechTEK2011 – D202 - Managing Phone Calls 5
What’s CCXML?
CCXML 1.0 stands for “Voice Browser Call Control: CCXML Version 1.0”
W3C Standard for Call Control: Set-up calls, bridge to VoiceXML dialogs, but also transferring, conferencing, and
more
From the specification:“[…] the Call Control eXtensible Markup Language. CCXML provides declarative markup to describe telephony call control. CCXML is a language that can be used with a dialog system such as VoiceXML.CCXML can provide a complete telephony service application, comprised of Web server CGI compliant application logic, one or more CCXML documents to declare and perform call control actions, and to control one or more dialog applications that perform user media interactions.”
Aims of CCXML: Simple for basic telephony control Powerful for advanced call control features Fully compatible with SIP and new applications scenarios
http://www.w3.org/TR/ccxml/
SpeechTEK2011 – D202 - Managing Phone Calls 6
Where is CCXML?
W3C Recommendation since July 5th, 2011 Implementation Test-Suite finalized 4 companies submitted Implementation Results All spec features were implemented
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
WorkingDraft
Last CallWorking Draft
CandidateRecommendation
ProposedRecommendation
W3CRecommendation
12 May 11
5 Jul 11
1 Apr 10
19 Jan 07
Enforce interoperability across platforms
Specification development Dispose publiccomments
Impl. Report Dev
CCXML 1.0 is the next W3C Recommendation:
2011
IRTesting
SpeechTEK2011 – D202 - Managing Phone Calls 7
CCXML Ecosystem
SpeechTEK2011 – D202 - Managing Phone Calls 8
DialogManager
WorldWideWeb
TelephoneSystem
ContextInterpretation
MediaPlanning
LanguageGeneration
TTS
ASR
DTMF Tone Recognizer
Pre-recorded Audio Player
Speech SynthesisMarkup Language (SSML)
Pronunciation LexiconSpecification (PLS)
Reusable Components Call Control XML(CCXML)
Semantic Interpretation forSpeech Recognition (SISR)
N-gram Grammar ML
Speech RecognitionGrammar Spec. (SRGS)
Natural LanguageSemantics ML
VoiceXML 2.0
VoiceXML 2.1 EMMA 1.0
User
LanguageUnderstanding
Where is CCXML?
SpeechTEK2011 – D202 - Managing Phone Calls 9
CCXML System Design
SpeechTEK2011 – D202 - Managing Phone Calls 10
CCXML – Complementary/Supplementary Two different domains:
VoiceXML: dialog-oriented synchronous language for high-level dialog design
Complemented by: CCXML: event-driven asynchronous telephony call control
CCXML completes VoiceXML: By implementing many telephony features within an XML
markup language Advanced Telephony Call Control
Extremely flexible and powerful It takes full advantage of SIP/VoIP
External Events Sends and receives HTTP events
It allows CCXML to speak/update/react to other entities Conferencing
Allows the creation of advanced conferencing systems Other Modalities
Can interact with other modalities, e.g. inside W3C Multimodal Architecture
SpeechTEK2011 – D202 - Managing Phone Calls 11
Highlights & Commands relationship
Incoming call screening Outbound call
Call transfer ConferencingWalking across
a CCXML app
Dialog management
External entityInteraction
Scripting
<createcall><join><unjoin><redirect><merge>
<accept><reject>
<createcall><join><unjoin>
<disconnect>
<createconference><join>
<unjoin><destroyconference>
<disconnect><redirect>
<dialogprepare><dialogstart>
<dialogterminate><createsession>
<exit>
<var><script><fetch>
<fetch><goto>
Create a new session
Logging
<send> <log>
SpeechTEK2011 – D202 - Managing Phone Calls 12
Call Control Adapter
CCXML Interpreter
VoiceXML Interpreter
<accept>
INIT
connection.connected
ALERTING
dialog.prepared
<dialogprepare>
<dialogstart>
dialog.started
CONNECTED
connection.alerting
……
Commands & Events: CCXML in Action
SpeechTEK2011 – D202 - Managing Phone Calls 13
CCXML Connection Model
SpeechTEK2011 – D202 - Managing Phone Calls 14
CCXML Hello World<?xml version="1.0" encoding="UTF-8"?><ccxml version="1.0”> <eventprocessor>
<transition event="connection.alerting"> <log expr="'***** CONNECTION ALERTING *****'"/> <if cond="event$.connection.remote == ’tel:+18315551234'"> <reject/> <else/> <accept/> </if> </transition>
<transition event="connection.connected"> <log expr="'***** CALL WAS ANSWERED *****'"/>
</transition>
<transition event=”connection.disconnected”> <log expr=”‘*** Call was disconnected ***’”/> <exit/> </transition>
<transition event="error.*"> <log expr="'an error has occured (' + event$.reason + ')'"/> <exit/> </transition> </eventprocessor></ccxml>
SpeechTEK2011 – D202 - Managing Phone Calls 15
Session Initiation Protocol
Session Initiation Protocol (SIP)defines how to establish a communication session betweentwo endpoints
Primarily used for voice, but can for IM or virtually any other protocol
Almost always used in client/server configuration with "SIP proxies" in control of "SIP endpoints"
– Work going on in P2PSIP - see www.p2psip.org
Text-based protocol, originally modeled on HTTP
SpeechTEK2011 – D202 - Managing Phone Calls 16
SIP Communication
Alice Bob
RTP (voice)
INVITE
180 RINGING
200 OK
ACK
BYE
200 OK
SpeechTEK2011 – D202 - Managing Phone Calls 17
CCXML Sending Events
CCXML can send events or other information to: another CCXML Server a VoiceXML interpreter other external entities using an Event I/O Processor
CCXMLCall Control Adapter
External Entity
VoiceXML
Another CCXML Session
SpeechTEK2011 – D202 - Managing Phone Calls 18
Application Scenarios
SpeechTEK2011 – D202 - Managing Phone Calls 19
Application Scenarios
Call Screening / Routing Calls CLI or other parameters can be
used to filter calls or to handle them in particular ways
Call Transfer Variations Implements traditional transfer
calls easily (blind, bridge, conversation/attended)
Allows to program unlimited variations without requiring customization
Attach & Dispatch Data In SIP, data can attached to call CCXML can receive and
manipulate data or attach to outbound calls
Personal Assistant Very elaborate and complex
Assistants can be implemented in CCXML
Personal Assistant can span multiple calls
Advanced Conferencing All advanced features are
available for multi-party conferencing, such as monitored, touch or vocal commands, variety of private chat profiles
Outbound Campaign All kinds of outbound calls
with voice applications can be programmed
SpeechTEK2011 – D202 - Managing Phone Calls 20
Examples – Taxi Reservation System
Check if it’s the first time that she’s is requiring the service(CLI info)
YES NO(address info)
The Voice Application isstarted, the system asks to the client if the departure is alwaysthe same.
If yes, the system makes the reservation . If not, the system redirects the call to a human operator.
Redirect to a human operator
SpeechTEK2011 – D202 - Managing Phone Calls 21
Examples - Voice Chat
CHAT ROOMS arguments
Music
TV
Cinema
Books
Sports
Travel
Holidays
…
Public Rooms
nick1
Music
nick2
nick4
Books
nick5
nick6
nick3
nick4
Private Room
nick4
nick3
SUPERVISOR
XAll done byCCXML andmanaged by
Web App fromCCXML Events!
SpeechTEK2011 – D202 - Managing Phone Calls 22
Solution Profile: Ringio
Ringio is a CRM friendly Virtual PBX that helps smaller companies improve the quality of their customer interactions.
Hosted in the Voxeo Public Cloud
Leverages CCXML for all aspects of call control, call routing and conferencing
Rich Connections into the Social CRM Cloud
SpeechTEK2011 – D202 - Managing Phone Calls 23
Solution Profile: IfByPhone
Ifbyphone is a voice based marketing automation platform that helps companies drive sales, reduce collection cycles, measure marketing effectiveness and improve customer experience.
Hosted service running on a Voxeo Private Cloud deployment inside ifbyphones’s datacenters
Enables click to call, follow me find me, call routing applications
SpeechTEK2011 – D202 - Managing Phone Calls 24
Solution Profile: Comcast
Installer and Customer Service IVR Applications
Uses CCXML for:– Installer Test Calls – Advanced Call Transfer
scenarios – Reminder and Automated
outbound scheduling. Deployed as a Hybrid Cloud
deployment on the Voxeo Prophecy platform.
SpeechTEK2011 – D202 - Managing Phone Calls 25
Conclusions
CCXML 1.0 is a real opportunity today:Standard, widely accepted by the industry, powerful and flexible
CCXML 1.0 complements and supplements today VoiceXML Infrastructure
CCXML 1.0 adds flexibility and simplicity to the management of basic call control scenarios but also allows a full new range of sophisticated applications
http://www.w3.org/TR/ccxml/
SpeechTEK2011 – D202 - Managing Phone Calls 26
Resources
W3C Web Sites– http://www.w3.org/tr/ccxml - Latest spec– http://www.w3.org/voice - Working group home
Voxeo– http://www.voxeo.com/free - Free CCXML Development
tools, documentation, tutorials and resources – http://triplecloud.com/ - Unified Customer Experience
platform for deployment in public, private and hybrid clouds
Loquendo– http://www.loquendo.com/ - Loquendo Speech and IVR
platforms
SpeechTEK2011 – D202 - Managing Phone Calls 27
SpeechTEK2011 – D202 - Managing Phone Calls 28
Contacts
RJ [email protected]:+1-831-239-2993@zscgeek
www.voxeo.com
Paolo [email protected] tel:+39-011-291-3425
www.loquendo.com