Internet DRAFT - draft-lum-siprec-vxml
draft-lum-siprec-vxml
SIPREC H. Lum
Internet-Draft Genesys
Intended status: Informational July 04, 2013
Expires: January 05, 2014
Recording VoiceXML sessions with SIPREC
draft-lum-siprec-vxml-00
Abstract
This document addresses the use case of recording Interactive Voice
Response (IVR) VoiceXML applications using the SIPREC protocol. This
document also provides a potential solution for capturing additional
information about the call flow within the VoiceXML application from
a recording perspective.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 05, 2014.
Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Lum Expires January 05, 2014 [Page 1]
Internet-Draft Recording VoiceXML sessions with SIPREC July 2013
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Usage . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Deployment types . . . . . . . . . . . . . . . . . . . . 3
2. Recording requirements for VoiceXML applications . . . . . . 3
3. Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1. VoiceXML extensions . . . . . . . . . . . . . . . . . . . 3
3.1.1. Recording indication . . . . . . . . . . . . . . . . 3
3.1.2. Pause/Resume . . . . . . . . . . . . . . . . . . . . 4
3.2. DTMF input . . . . . . . . . . . . . . . . . . . . . . . 4
3.3. Metadata . . . . . . . . . . . . . . . . . . . . . . . . 4
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
5. Security Considerations . . . . . . . . . . . . . . . . . . . 5
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 5
6.1. Normative References . . . . . . . . . . . . . . . . . . 5
6.2. Informative References . . . . . . . . . . . . . . . . . 5
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction
One of the use case defined in [RFC6341] is the use of recording
self-service Interactive Voice Response (IVR) calls. Recording IVR
calls are required in some cases to meet compliance requriements or
to provide application performance tuning purposes. VoiceXML is the
standard for defining a voice dialog, and this document provides a
proposed method for providing SIPREC metadata for VoiceXML sessions.
A list of requirements is provided define the scope of the solution
defined in this document.
1.1. Usage
As VoiceXML is the standard markup for defining voice dialogs, the
usage of a voice dialog varies a depending on the use cases. The
main use case for VoiceXML application is to provide a self-service
voice application, for example, to take self-service orders for the
user. In some environments it is required that the voice application
must be recorded before any self-service transaction can take place,
and this means that the voice application must have some form of
awareness that the recording is taking place at the moment before
presenting the option of self-service transaction to the user.
Certain types of self-service transactions may request the user to
enter sensitive information such as a PIN or the CVV of a credit
card, and it is required that the VoiceXML application has the
ability to explicitly mark certain parts of the application as
sensitive portion and that recording is paused while taking senstive
data.
Lum Expires January 05, 2014 [Page 2]
Internet-Draft Recording VoiceXML sessions with SIPREC July 2013
Another type usage for a VoiceXML application would be started within
a media server dialog to provide basic annoucements, prompts, or
controls. This type of usage is typically not related to self-
service transactions while does require recording for compliance
purposes. Recording may be useful in this context to provide data to
help tuning and reporting of the application.
1.2. Deployment types
Depending on the implementation of the IVR and the implementation of
the VoiceXML interpreter, there are different ways recording can
happen based on the deployment model. As per [RFC5552], the IVR is a
SIP User Agent that serves VoiceXML applications. The IVR in this
case can be a SIPREC-aware SIP UA and relies on a separate SRC to
provide recording capabilities. Being a SIPREC-aware SIP UA allows
the IVR to provide recording indications to the VoiceXML application.
The IVR can also be implemented as an SRC so that the IVR can
directly initiate recording sessions to an SRS. This gives the IVR
more control over local recording policies by ensuring recording can
happen before executing certain VoiceXML applications that require
recording.
2. Recording requirements for VoiceXML applications
REQ1: Provide an ability for the VoiceXML application to know that
it is being recorded.
REQ2: Provide an ability for the VoiceXML application to pause/
resume certain parts of the application from being recorded
REQ3: Define the scope which the recording starts or stops within
the VoiceXML application.
REQ4: Capture DTMF input as media or metadata.
REQ5: Define metadata format to provide essential information about
the recorded application.
REQ6: Define additional metadata to provide detailed information
about about the application executed.
3. Solution
3.1. VoiceXML extensions
3.1.1. Recording indication
Lum Expires January 05, 2014 [Page 3]
Internet-Draft Recording VoiceXML sessions with SIPREC July 2013
The VoiceXML interpreter can provide a new session variable called
session.recording (a boolean) to indicate whether recording is
currently taking place. It is possible that the recording is taking
place over the connection by a separate SRC, so a separate session
variable called session.connection.recording (a boolean) can indicate
whether the recording is taking place over the connection.
If the recording is taking place over the connection while the
application is executing, a new event can be thrown so that the
application can catch this event. The new event is called
connection.record, and the default action would not reprompt so that
an application which does not care about this event can simply ignore
this event.
3.1.2. Pause/Resume
As the use case for pause/resume is to mask the recording while
taking sensitive data, this can map naturally to the <field> element
in VoiceXML. A new attribute siprec:mask (boolean) is introduced to
note that the field is taking sensitive data and shall mask the audio
portion when accepting input for this field. If the IVR is an SRC,
then the SRC would initiate a pause request while accepting input for
the field, and then resume when the field is filled. If the IVR is a
SIPREC-aware SIP UA, then the IVR would request to pause the
recording, and it is up to the SRC to determine whether the recording
is pause or not.
3.2. DTMF input
The typical input method for an IVR application is DTMF input, and in
addition, some VoiceXML applications supports speech input. In order
to ensure the recording of the VoiceXML application captures DTMF as
input, the media codec telephone-event must be supported to record
DTMF input, which is part of the audio media stream.
3.3. Metadata
The IVR is modeled as a participant in a Communication Session. As
per [I-D.ietf-siprec-metadata], the participant only contains the
address of record. Additional information can be provided about the
VoiceXML session to provide more context of about the IVR. Example
attributes:
o The URI of the VoiceXML page;
o The session.connection.* session variables;
Lum Expires January 05, 2014 [Page 4]
Internet-Draft Recording VoiceXML sessions with SIPREC July 2013
o Any input parameters to the VoiceXML page, such as parmaters
injected by a media server dialog;
o <exit> namelist parameters
o Any additional messages and parameters logged by the VoiceXML
application.
Some pieces of metadata relevant to a VoiceXML application may be
generated during runtime, for example, the <exit> tag can only happen
as the last statement in the application. Any metadata generated
after the initial execution of the VoiceXML session may not get a
chance to provide the metadata in the initial INVITE or UPDATE in the
RS. The SRC would need to initiate an UPDATE to provide additional
metadata to the SRS. It is important to note that it is not a good
idea to generate an UPDATE every time new messages or parameters are
generated by the VoiceXML application, as this can potentially
generate large amount of SIP transactions. The SRC should either
wait until the end of the VoiceXML session to present all the
metadata or limit the rate which UPDATE transactions are generated.
4. IANA Considerations
This document contains no IANA considerations.
5. Security Considerations
Not explicitly covered in this version.
6. References
6.1. Normative References
[I-D.ietf-siprec-metadata]
R, R., Ravindran, P., and P. Kyzivat, "Session Initiation
Protocol (SIP) Recording Metadata", draft-ietf-siprec-
metadata-12 (work in progress), May 2013.
[I-D.ietf-siprec-protocol]
Portman, L., Lum, H., Eckel, C., Johnston, A., and A.
Hutton, "Session Recording Protocol", draft-ietf-siprec-
protocol-10 (work in progress), May 2013.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008.
6.2. Informative References
Lum Expires January 05, 2014 [Page 5]
Internet-Draft Recording VoiceXML sessions with SIPREC July 2013
[I-D.ietf-siprec-architecture]
Hutton, A., Portman, L., Jain, R., and K. Rehor, "An
Architecture for Media Recording using the Session
Initiation Protocol", draft-ietf-siprec-architecture-08
(work in progress), May 2013.
[RFC5552] Burke, D. and M. Scott, "SIP Interface to VoiceXML Media
Services", RFC 5552, May 2009.
[RFC6341] Rehor, K., Portman, L., Hutton, A., and R. Jain, "Use
Cases and Requirements for SIP-Based Media Recording
(SIPREC)", RFC 6341, August 2011.
Author's Address
Henry Lum
Genesys
1380 Rodick Road, Suite 201
Markham, Ontario L3R4G5
Canada
Email: henry.lum@genesyslab.com
Lum Expires January 05, 2014 [Page 6]