1 / 20

Combining VoiceXML with CCXML: A Comparative Study

Combining VoiceXML with CCXML: A Comparative Study. Daniel Amyot and Renato Simoes School of Information Technology and Engineering University of Ottawa , Canada damyot@site.uottawa.ca, renatops@yahoo.com. Motivation. Interactive Voice Response (IVR) applications

selah
Download Presentation

Combining VoiceXML with CCXML: A Comparative Study

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Combining VoiceXML with CCXML:A Comparative Study Daniel Amyot and Renato Simoes School of Information Technology and Engineering University of Ottawa , Canada damyot@site.uottawa.ca, renatops@yahoo.com

  2. Motivation • Interactive Voice Response (IVR) applications • User interacts with an automated system • Recorded speech or computer generated • Telephone keys or speech recognition • Examples: Information retrieval, virtual secretaries, bookings and payments, … • Popular IVR applications use: • VoiceXML for vocal dialogs • Session Initiation Protocol (SIP) for call control • New Call Control eXtensible Markup Language (CCXML) emerging… • Can CCXML help accelerate the development of complex VoIP solutions that have an IVR component? Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  3. Overview • VoiceXML (a.k.a. VXML) • CCXML • Comparative study based • Simple Personal Assistant system • Observations • VoiceXML Portability Issues • Conclusions Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  4. VoiceXML Highlights • Voice Extensible Markup Language • Version 2.0, W3C Recommendation (16 March 2004) • Bring the advantages of Web-based development to IVR • Familiar client/server paradigm • Web Server keeps the logic (DB, generates VXML) • Multiple dialogs • Enables (voice) access to Web services • Avoid low-level programming and resource management • Designed for • Creating audio dialogs • Synthesized speech • Digitized audio • Speech recognition • DTMF key input • Recording • Basic telephony control Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  5. VoiceXMLExample <vxml> <form id="get_tophone"> <field name="tophone" type="digits?length=7"> <prompt> <audio src="enterphone.wav"/> </prompt> <noinput> <reprompt/> </noinput> <noinput count="3"> <exit/> </noinput> </field> <field name="confirm" type="boolean"> <prompt> <audiosrc="thephoneis.wav"/> <valueexpr="tophone"/> <audio src="correct.wav"/> </prompt> <nomatch> <reprompt/> </nomatch> <noinput> <reprompt/> </noinput> <filled> <if cond="confirm"> <exit namelist="tophone"/> <else/> <clear namelist="tophone confirm"/> </if> </filled> </field> </form> </vxml> Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  6. Typical Configuration with VXML (& SIP) Voice Interactions Signalling and Call Control Business Logic Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  7. CCXML Highlights • Call Control eXtensible Markup Language • W3C Working Draft, 22 November 2006 (8th version) • Declarative description of advanced telephony functions • Conference control, Find Me Follow Me, click-to-dial, third-party call control manager…  • Handling of asynchronous events from many sources • CCXML is protocol independent can interwork with voice dialogs • VoiceXML, Parlay, SLEE, JAIN SIP… Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  8. CCXML Benefits • Handles sophisticated multiple call control • Ability to give each call leg its own dedicated IVR • Note possible with VoiceXML only • Often SIP is added to solve this issue • Suitable for direct interaction with end users • Necessary for IVR and conference services • Could not be done easily using IETF’s Call Processing Language (CPL) Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  9. Typical Configuration with CCXML&VXML Voice Interactions Signalling and Call Control Business Logic Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  10. Example Scenario: Personal Assistant Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  11. CCXMLExample <transition event="dialog.exit" name="evt“ state="welcoming_caller"> <assign expr="evt.calleephone" name="tophone" /> <!-- Place the caller on hold --> <dialogstart dialogid="dlg_onhold" connectionid="in_connectionid"src="'holdmusic.jsp'" /> <!-- Contact the callee. --> <assign expr="'contacting_target'" name="currentstate" /> <createcall dest="'tel: ' + evt.calleephone" connectionid="out_connectionid" /> </transition> Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  12. Example of ComplementaryVoiceXML Script <!– Generated on the fly by Web Server --> <vxml version="1.0"> <var name="callid" expr="'<%= callid %>'"/> <form id="callee_confirm"> <field name="confirm" type="boolean"> <prompt> <audio src="acceptcall.wav"/> </prompt> <nomatch count="1"> <reprompt/> </nomatch> <nomatch> <exit/> </nomatch> <noinput> <reprompt/> </noinput> <noinput count="3"> <exit/> </noinput> <filled> <if cond="confirm"> <assign name="accepted" value="true" /> <exit namelist="accepted" /> <else/> <assign name="accepted" value="false" /> <exit namelist="accepted" /> </if> </filled> </field> </form> </vxml> Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  13. CCXML vs SIP for Call Control • CCXML <join id1="in_connectionid" id2="out_connectionid" /> • SIP Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  14. Typical SIP Message (INVITE) 09/07/2005 18:14:05.168: Outgoing Message Transport: UDP (reliable=false): ip=10.11.12.200, port=5060, plugin=null, forceUDP=false, TTL=1 INVITE sip:3334444@10.11.12.200:5060 SIP/2.0 Call-ID: 4AF4DBF6-A72611D5-9791C1FA-3D9B40D@10.11.12.200 From: <sip:2341234@10.11.12.13>;tag=1975362409.1.kaaaaagpidddjkejhbchhkoc To: <sip:3334444@10.11.12.200>;tag=7EB680D0-1A20 CSeq: 103 INVITE Contact: sip:sipserver:5060 Content-Type: application/sdp Content-Length: 362 Max-Forwards: 70 Via: SIP/2.0/UDP 10.0.0.246:5070;branch=z9hG4bK0A0000F6BADF00D00000104FD963E68191 v=0 o=SIP-GW-UserAgent 9597 1982 IN IP4 10.11.12.200 s=SIP Call c=IN IP4 10.11.12.200 t=0 0 m=audio 17968 RTP/AVP 18 0 8 4 2 3 19 c=IN IP4 10.11.12.200 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=no a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:4 G723/8000 a=fmtp:4 annexa=no a=rtpmap:2 G726-32/8000 a=rtpmap:3 GSM/8000 a=rtpmap:19 CN/8000 Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  15. Typical Scenario with VoiceXML & CCXML CCXML snippet seen earlier… VoiceXML script seen earlier… Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  16. Same Scenario with VoiceXML & SIP Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  17. Observations Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  18. VoiceXML Portability Issues • Used VoiceXML media servers (Nuance’s NVP 3.0 and Brooktrout’s Snowshore A1) and studied Convedia and BeVocal • Shadow Variables • Platform-specific, used to modify or access additional information from a VXML tag. • Nuance’s name$.termchar, name$.duration, name$.size • Proprietary Grammar • Nuance includes its own Grammar Specification Language, used inside the VXML code • Proprietary Tags • <bevocal:foreach>, <bevocal:listen> • Nuance’s tags for voice recognition capabilities • Partial Support for VXML 2.0 • Others… Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  19. Conclusions • CCXML provides appropriate abstractions and offers capabilities that are easier and faster to use than a plain SIP-based approach for IVR applications • The SIP-level flexibility may still be required in some situations • Room for a hybrid solution? • CCXML’s future will depend on the availability of good development and execution environments, including API’s • Emerging CCXML platforms include: • Hewlett-Packard: HP Open Call Media Platform • Voxeo Corporation: Prophecy IVR Voice Platform • Loquendo: VoxNauta Platform Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

  20. For Further Information • Daniel AmyotAssistant ProfessorSITE, University of Ottawa1-613-562-6800 ext. 6947damyot@site.uottawa.ca Combining VoiceXML with CCXML - CCNC'07, Las Vegas, Jan. 12, 2007

More Related