IETF 70 Vancouver, Canada

17
A Basic IVR Control Package for SIP Chris Boulton, Tim Melanchuk, Scott McGlashan draft-boulton-ivr-control-package-05 IETF 70 Vancouver, Canada

description

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 - PowerPoint PPT Presentation

Transcript of IETF 70 Vancouver, Canada

Page 1: 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

Page 2: 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

Page 3: IETF 70 Vancouver, Canada

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

Page 4: IETF 70 Vancouver, Canada

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

Page 5: IETF 70 Vancouver, Canada

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?

Page 6: IETF 70 Vancouver, Canada

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.”

Page 7: IETF 70 Vancouver, Canada

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

Page 8: IETF 70 Vancouver, Canada

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”

Page 9: IETF 70 Vancouver, Canada

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>

Page 10: IETF 70 Vancouver, Canada

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

Page 11: IETF 70 Vancouver, Canada

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

Page 12: IETF 70 Vancouver, Canada

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

Page 13: IETF 70 Vancouver, Canada

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”/>

Page 14: IETF 70 Vancouver, Canada

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>

Page 15: IETF 70 Vancouver, Canada

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

Page 16: IETF 70 Vancouver, Canada

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

Page 17: IETF 70 Vancouver, Canada

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