IAB Chair Report IETF 88 – Vancouver, BC, CA 6 November 2013.
IETF 70 Vancouver, Canada
description
Transcript of IETF 70 Vancouver, Canada
A Basic IVR Control Package for SIP
Chris Boulton, Tim Melanchuk, Scott McGlashan
draft-boulton-ivr-control-package-05
IETF 70
Vancouver, Canada
3 December 2007 IETF 70 - Vancouver, Canada 2
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
3 December 2007 IETF 70 - Vancouver, Canada 3
Basic IVR Control Package 1/2
• CONTROL messages:– <dialogprepare>– <dialogstart>– <dialogterminate>
• REPORT messages: – <response> (or in 200 response)– <event> notifications
3 December 2007 IETF 70 - Vancouver, Canada 4
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
3 December 2007 IETF 70 - Vancouver, Canada 5
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?
3 December 2007 IETF 70 - Vancouver, Canada 6
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.”
3 December 2007 IETF 70 - Vancouver, Canada 7
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
3 December 2007 IETF 70 - Vancouver, Canada 8
Examples
• Simple use case:1. IVR dialog to record participant name2. Add participant to conference 3. 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
“[email protected]~JJSUSHJ”
3 December 2007 IETF 70 - Vancouver, Canada 9
IVR dialog to record participants name 1/4
AS --------------------------------------------------------------------------> MSSCFW transaction1 CONTROL Control-Package: msc-ivr-basic/1.0Content-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>
3 December 2007 IETF 70 - Vancouver, Canada 10
IVR dialog to record participants name 2/4
AS <-------------------------------------------------------------------------- MSSCFW transaction1 202
AS <-------------------------------------------------------------------------- MSCFW transaction1 REPORT Seq: 1 Status: pending Timeout: 10
AS --------------------------------------------------------------------------> MSSCFW transaction1 200 Seq: 1
3 December 2007 IETF 70 - Vancouver, Canada 11
IVR dialog to record participants name 3/4
AS <-------------------------------------------------------------------------- MSCFW transaction1 REPORT Seq: 2Status: terminate Timeout: 10 Content-Length: 22
<response status=“200”/>
AS --------------------------------------------------------------------------> MSSCFW transaction1 200 Seq: 2
3 December 2007 IETF 70 - Vancouver, Canada 12
IVR dialog to record participants name 4/4
AS <------------------------------------------------------------------------- MSCFW transaction1 REPORT Status: NotifyContent-Length: 92
<event name="dialogexit"> <data> <item name="status" value="1"/> <item name="result" value="http://ex.com/recording1.wav"/> </data></event>
AS -------------------------------------------------------------------------> MSSCFW transaction1 200
3 December 2007 IETF 70 - Vancouver, Canada 13
Add participant to conference 1/1
AS --------------------------------------------------------------------------> MSSCFW transaction2 CONTROL Control-Package: msc-conf-audio/1.0 Content-Length: 42
<join id1=“p1” id2=“conf1”/>
AS <-------------------------------------------------------------------------- MSSCFW transaction2 200Content-Length: 22
<response status=“200”/>
3 December 2007 IETF 70 - Vancouver, Canada 14
IVR dialog to announce participant to conference 1/4
AS --------------------------------------------------------------------------> MSSCFW transaction3 CONTROL Control-Package: msc-ivr-basic/1.0Content-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>
3 December 2007 IETF 70 - Vancouver, Canada 15
IVR dialog to announce participant to conference 2/4
AS <-------------------------------------------------------------------------- MSSCFW transaction3 202
AS <-------------------------------------------------------------------------- MSCFW transaction3 REPORT Seq: 1 Status: pending Timeout: 10
AS --------------------------------------------------------------------------> MSSCFW transaction3 200 Seq: 1
3 December 2007 IETF 70 - Vancouver, Canada 16
IVR dialog to announce participant to conference 3/4
AS <-------------------------------------------------------------------------- MSCFW transaction3 REPORT Seq: 2Status: terminate Timeout: 10 Content-Length: 22
<response status=“200”/>
AS --------------------------------------------------------------------------> MSSCFW transaction3 200 Seq: 2
3 December 2007 IETF 70 - Vancouver, Canada 17
IVR dialog to announce participant to conference 4/4
AS <------------------------------------------------------------------------- MSCFW transaction3 REPORT Status: NotifyContent-Length: 92
<event name="dialogexit"> <data> <item name="status" value="1"/> </data></event>
AS -------------------------------------------------------------------------> MSSCFW transaction3 200