170 likes | 336 Views
A Basic IVR Control Package for SIP Chris Boulton, Tim Melanchuk, Scott McGlashan draft-boulton-ivr-control-package-05. IETF 70 Vancouver, Canada. Overview. First version released in December 2005 Version 05 released November 2007 Control package providing basic IVR functionality
E N D
A Basic IVR Control Package for SIPChris Boulton, Tim Melanchuk, Scott McGlashan draft-boulton-ivr-control-package-05 IETF 70 Vancouver, Canada
Overview • First version released in December 2005 • Version 05 released November 2007 • Control package providing basic IVR functionality • Play prompts, collect DTMF input, record input • Out of scope: VoiceXML, ASR, TTS, fax, media transformations • Some remaining issues to be addressed IETF 70 - Vancouver, Canada
Basic IVR Control Package 1/2 • CONTROL messages: • <dialogprepare> • <dialogstart> • <dialogterminate> • REPORT messages: • <response> (or in 200 response) • <event> notifications IETF 70 - Vancouver, Canada
Basic IVR Control Package 2/2 • Play announcement dialog: • Prompt list (mandatory) • Iteration/duration, fetch and VCR properties • Prompt and collect dialog: • Prompt list (optional) • DTMF, bargein, timeout and seek properties • Prompt and record dialog: • Prompt list (optional) • Duration, timeout and VAD properties IETF 70 - Vancouver, Canada
Remaining Issues 1/2 • [REQ-MCP-28]Add ‘type’ attribute to identify type of dialog • Allows external dialog to be used via ‘src’ attribute • Re-structure XML with container elements • Allow property values to be validated in XML (cf. <data>) • Re-factor prompt list and properties into single, element • Same prompts element shared by all containers • Check: we do want promptandcollect and promptandrecord to have same control over prompts as playannouncements? • <stream> element • Stream manipulation out of scope? IETF 70 - Vancouver, Canada
Remaining Issues 2/2 • Subscription to other dialog notification events • DTMF, disconnect, etc • Scope of media support • Basic video play/record in scope? • Custom DTMF grammar format support • SRGS, H.248.1, KPML, etc • Support for tone generation/detection? • Variable/multi-language support • Check [REQ-MCP-30] interpretation: “ The AS should be able to instruct the MS to record a short participant stream and play it back. This is not a recording requirement.” IETF 70 - Vancouver, Canada
Proposal: Basic IVR as MediaCtrl WG draft • Some implementation experience • Satisfies WG IVR requirements and IVR design team requirements • IVR Design team: Adnan Saleem, Roni Even, Diego B, Lorenzo Miniero • Compatible with other proposed packages (non-WG) • VoiceXML IVR (draft-boulton-ivr-vxml-control-package-03) • Conference control (draft-boulton-conference-control-package-03) • ID editors will actively revise document following WG input IETF 70 - Vancouver, Canada
Examples • Simple use case: • IVR dialog to record participant name • Add participant to conference • IVR dialog to announce participant to conference • Simplifications: • AS-MS control channel has been established (and SYNCHed) with support for msc-ivr-basic/1.0 and msc-conf-audio/1.0 • Conference already created with conf-id ‘conf1’ • Participant connection-id ‘p1’ is shorthand for “HKJDH~8shKUHSUKHW@example.com~JJSUSHJ” IETF 70 - Vancouver, Canada
IVR dialog to record participants name 1/4 AS --------------------------------------------------------------------------> MS SCFW transaction1 CONTROL Control-Package: msc-ivr-basic/1.0 Content-Length: 92 <dialogstart src="basicivr:promptandrecord" connection-id=“p1"> <data> <item name="prompts“ value="http://ex.com/sayname.wav"/> <item name="dtmfterm" value=“true"/> <item name="maxtime" value="30s"/> </data> </dialogstart> IETF 70 - Vancouver, Canada
IVR dialog to record participants name 2/4 AS <-------------------------------------------------------------------------- MS SCFW transaction1 202 AS <-------------------------------------------------------------------------- MS CFW transaction1 REPORT Seq: 1 Status: pending Timeout: 10 AS --------------------------------------------------------------------------> MS SCFW transaction1 200 Seq: 1 IETF 70 - Vancouver, Canada
IVR dialog to record participants name 3/4 AS <-------------------------------------------------------------------------- MS CFW transaction1 REPORT Seq: 2 Status: terminate Timeout: 10 Content-Length: 22 <response status=“200”/> AS --------------------------------------------------------------------------> MS SCFW transaction1 200 Seq: 2 IETF 70 - Vancouver, Canada
IVR dialog to record participants name 4/4 AS <------------------------------------------------------------------------- MS CFW transaction1 REPORT Status: Notify Content-Length: 92 <event name="dialogexit"> <data> <item name="status" value="1"/> <item name="result" value="http://ex.com/recording1.wav"/> </data> </event> AS -------------------------------------------------------------------------> MS SCFW transaction1 200 IETF 70 - Vancouver, Canada
Add participant to conference 1/1 AS --------------------------------------------------------------------------> MS SCFW transaction2 CONTROL Control-Package: msc-conf-audio/1.0 Content-Length: 42 <join id1=“p1” id2=“conf1”/> AS <-------------------------------------------------------------------------- MS SCFW transaction2 200 Content-Length: 22 <response status=“200”/> IETF 70 - Vancouver, Canada
IVR dialog to announce participant to conference 1/4 AS --------------------------------------------------------------------------> MS SCFW transaction3 CONTROL Control-Package: msc-ivr-basic/1.0 Content-Length: 94 <dialogstart src="basicivr:playannouncement" conf-id=“conf1"> <data> <item name="prompts“ value="http:/ex.com/recording1.wav http://ex.com/hasjoined.wav"/> </data> </dialogstart> IETF 70 - Vancouver, Canada
IVR dialog to announce participant to conference 2/4 AS <-------------------------------------------------------------------------- MS SCFW transaction3 202 AS <-------------------------------------------------------------------------- MS CFW transaction3 REPORT Seq: 1 Status: pending Timeout: 10 AS --------------------------------------------------------------------------> MS SCFW transaction3 200 Seq: 1 IETF 70 - Vancouver, Canada
IVR dialog to announce participant to conference 3/4 AS <-------------------------------------------------------------------------- MS CFW transaction3 REPORT Seq: 2 Status: terminate Timeout: 10 Content-Length: 22 <response status=“200”/> AS --------------------------------------------------------------------------> MS SCFW transaction3 200 Seq: 2 IETF 70 - Vancouver, Canada
IVR dialog to announce participant to conference 4/4 AS <------------------------------------------------------------------------- MS CFW transaction3 REPORT Status: Notify Content-Length: 92 <event name="dialogexit"> <data> <item name="status" value="1"/> </data> </event> AS -------------------------------------------------------------------------> MS SCFW transaction3 200 IETF 70 - Vancouver, Canada