Internet Engineering Task Force                            Simon Tsang
INTERNET DRAFT                                             Jerome Privat
draft-tsang-ivrcontrol-00.txt                              BT Labs
October 1998
Expires in six months


                              IVR control


Status of this document

This document is an Internet-Draft.  Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, and
its working groups.  Note that other groups may also distribute working
documents as Internet-Drafts.

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

To view the entire list of current Internet-Drafts, please check the
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern Europe),
ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific Rim),
ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast).


Abstract

This document describes IVR (Interactive Voice Response Unit) control.
It is intended as an input for the device control interface defined by
the IETF.


1. Introduction

The IETF is defining a device control interface between a Media Gateway
Controller (MC) and a Media Gateway (MG).  An MC has to be able to
control not only VoIP gateways or Network Access Servers (NAS) but
should also be generic enough to control devices like IVRs or ACDs.  IVR
control is essential to provide user interaction in services.

The IVR control requirements outlined in this document should be
provided by a solution which is common across all the VoIP protocols.
However, the terminology and architecture adopted in this document are
targetted specifically at the IETF device control working group.


2. What is an IVR?

An IVR (Interactive Voice Response unit) is a specialised resource which
provides network facilities for interacting with a user or call party.
The IVR functionality may be integrated into a Media Gateway (MG) or
exist as a standalone unit.  This is illustrated in Figure 1 which shows
Media Gateway 1 with an integrated IVR unit and Media Gateway 2
utilising an external IVR unit.

                            +--------------+
                            |              |
                            |       MC     |
                            |              |
                            +--------------+
                           /        |       \
                          /         |        \
                         /      +--------+    \
                        /       |external|     \
                       /        |   IVR  |\\    \
                      /         +--------+ \\    \
              +--------------+             +--------------+
              |              |             |              |
              |      MG1     |=============|      MG2     |
              |      +IVR    |             |              |
              +--------------+             +--------------+

single line: control channel
double line (=== or \\): bearer channel

Figure 1: IVR elements in VoIP network


IVR uses include:

- DTMF digit collection
- The ability to play prompts and announcements (e.g. inband tones on a
phone or text messages on a terminal)
- The ability to inject tones (e.g. call waiting tone) mid call
- Speech recognition (NB. this is another form of digit collection)
- Record a message on the IVR
- The ability to hold a call, while playing an announcement
- The ability to “park” a call while playing an announcement

An IVR can be under the control of a Media Controller (MC) or another
call or service control entity.  Mechanisms must exist to allow the IVR
to report the results of the user interaction to the Media Controller.
As with  Media Gateways, it is envisaged that external IVRs will
register themselves with a Media Controller when they are activated in
the network.  If a  Media Gateway has internal IVRs, these should be
registered with the Media Controller as part of the Media Gateway/Media
Controller discovery procedure.

It is envisaged that external IVRs will have different levels of control
intelligence.  Some may have only bearer control capabilities, while
others may have the ability to run scripts.  The minimum required by an
external IVR is bearer control and the ability to understand
instructions from the Media Controller.


3. When is IVR control needed?

IVR control is needed whenever user notification or interaction is
required.  This covers all phases of the call: call establishment, mid
call, and call release.  Examples of possible IVR involvement and
functionality include:

Call Establishment:
- Secure access service:  Play a prompt or announcement to the caller to
enter User ID and PIN number.  Collect these from the caller and pass
this information to the service intelligence for authentication. If
authentication succeeds, prompt the caller to dial a number and collect
digits.
- Directly connected customer:  Apply dial-tone, collect DTMF digits,
and insert DTMF tones when the user “off-hooks”.

Mid Call:
- Call waiting:  Inject (switch in) call waiting tone into the user’s
current call to indicate that there is a call waiting.
- Pre-paid card service:  If the user is using a pre-paid card service,
inject a tone or announcement to indicate to the user when they are “low
on credit”.

Call Release:
- Televoting service:  After the caller has dialled the specific voting
number, it is advantageous if the call control or service intelligence
can simply “park” the call onto an IVR rather than keeping the call
context alive until the user “on-hooks” and clears the call. The caller
will then hear an announcement (e.g. “Your vote for xxxx has been
logged.  Thank you. Please hang up.”) until they hang up and release th
call.
- Calling party call release:  When the calling party clears the call,
it may be desirable to connect the called party to an announcement (e.g.
“The other party has ended the call. Please hang up.”) or tone until
they also clear.
- Called party call release:  If the called party clears the call first.
It may be desirable to connect the calling party to an announcement
until they also clear (e.g. “The other party has ended the call. Please
hang-up.”).
- Call re-origination (e.g. Card service):  Alternatively after one
party has released the call, IVR functionality may allow the other party
to enter a specific digit sequence and make another call.  An
announcement (e.g. “The other party has ended the call.  Please press ##
to make another call.”) will be played to indicate this to the user.


4. Connecting to and Disconnecting from an IVR

One of the most important aspects of IVR control is the ability to
connect to and disconnect from an IVR (either internal or external)
without destroying the current call/session context. It is important
that this can be performed numerous times within a call by the Media
Controller.  IVRs may be connected to or disconnected from any Media
Gateway in the IP network.

4.1 Media Gateway has internal IVR

The simplest case is when an internal IVR is used by a Media Gateway.
The Media Controller controls the IVR by sending instructions to the
Media Gateway.  One possible case is illustrated by the high-level
information flow provided in Figure 2 and Table 1.  This information
flow shows the case when a call arrives at Media Gateway 1, the MC
requires further digits to complete the call and uses MG 1’s IVR to
obtain the information.  The call terminates on MG 2.

                                (from SG)
                                    |
                                    | (1)
                                    |
                            +--------------+
                            |              |
                            |     MC       |
                            |              |
                            +--------------+
                           /                \
                (2,4,8)   /                  \  (6)
                         /                (7) \
                        /  (3,5)               \
                       /                        \
                      /                          \
              +--------------+             +--------------+
              |              |      (9)    |              |
              |      MG1     |=============|      MG2     |
              |      +IVR    |             |              |
              +--------------+             +--------------+

single line: control channel
double line (=== or \\): bearer channel

Figure 2: Media Controller controlling internal IVR


------------------------------------------------------------
| No. | Source/Sink  | Event                               |
------------------------------------------------------------
| 1   | SG-MC        | Set-up call request                 |
| 2   | MC-IVR       | Prompt and collect for digits       |
| 3   | IVR-MC       | Digits collected information        |
| 4   | MC-MG1       | Connect Message                     |
| 5   | MG1-MC       | Ack message                         |
| 6   | MC-MG2       | Call Indication message             |
| 7   | MG2-MC       | Answer message                      |
| 8   | MC-MG1       | Modify connection message           |
| 9   | (action)     | Connection between MGs set up       |
------------------------------------------------------------
Table 1: Information flows for MC controlling internal IVR


4.2 Media Gateway uses external IVR

When an external IVR is used by a Media Gateway, the procedure to
connect to and disconnect from the IVR is more complex as it requires
interaction with the Media Gateway to set up the bearer to the IVR and
then tear it down when the user interaction is complete.  It should be
noted that the Media Controller controls the IVR directly, not through
the Media Gateway.  In this scenario, the Media Gateway is only used to
set up and tear down the connection to the IVR.

One possible case is illustrated by the high-level information flow
provided in Figure 3 and Table 2.  This information flow shows the case
when a call arrives at Media Gateway 1, the Media Controller requires
further digits to complete the call.  Media Gateway 1 connects to the
external IVR to obtain the information.  The call terminates on Media
Gateway 2.



                                 (from SG)
                                    |
                                    | (1)
                                    |
                            +--------------+
                            |              |
                            |      MC      |
                            |              |
                            +--------------+
                           /   |            \
                          /    |             \
                         /     |(5)           \
                        /(10)  |(4,6)      (11)\ (12)
            (2,7,9,13) /       |                \
                      /        |                 \
              +--------------+ |           +--------------+
              |              | |     (14)  |              |
              |      MG1     |=============|      MG2     |
              |              | |           |              |
              +--------------+ |           +--------------+
                  \\           |
              (3,8)\\          |
                    \\         |
                  +-------------+
                  |External IVR |
                  +-------------+

single line: control channel
double line (=== or \\): bearer channel

Figure 3: Media Controller controlling external IVR


-----------------------------------------------------------------------
| No. | Source/Sink  | Event                                          |
-----------------------------------------------------------------------
| 1   | SG-MC        | Set-up call request                            |
| 2   | MC-MG1       | Connect to IVR                                 |
| 3   | (action)     | MG1 sets up bearer to external IVR             |
| 4   | IVR-MC       | IVR indication: ready to receive instructions  |
| 5   | MC-IVR       | Prompt and collect for digits                  |
| 6   | IVR-MC       | Digits collected information                   |
| 7   | MC-MG1       | Disconnect from IVR                            |
| 8   | (action)     | MG1 tears down bearer to external IVR          |
| 9   | MC-MG1       | Connect message                                |
| 10  | MG1-MC       | Ack message                                    |
| 11  | MC-MG2       | Call indication message                        |
| 12  | MG2-MC       | Answer message                                 |
| 13  | MC-MG1       | Modify connection message                      |
| 14  | (action)     | Connection between MGs set up                  |
-----------------------------------------------------------------------
Table 2: Information flows for MC controlling external IVR


5. Security Considerations

When an IVR is controlled by a Media Controller across a public IP
network it is very important that only legitimate actions, from a
legitimate source are permitted.  Media controllers, Media gateways or
IVR must only accept messages for which IP security provides
authentication.  Encryption should also be used to prevent third parties
from eavesdropping.


6. Next step

This document will be followed by another draft outlining in more detail
IVR control requirements. These IVR control requirements will have to be
included in a generic device control protocol.


7. References

* Cuervo, Greene, Holdrege, Ong, Huitema, "SS7-Internet Interworking -
Architectural Framework, draft-greene-ss7-arch-frame-01.txt.
* ETSI, “Intelligent Network (IN); Intelligent Network Capability Set 1
(CS1); Core Intelligent Network Application Protocol (INAP); Part 1:
Protocol Specification”, ETS 300 374-1, DE/SPS-03015, September 1994.
* ETSI, “Intelligent Network (IN); Intelligent Network Capability Set 2,
Intelligent Network Application Protocol (INAP); Part 1: Protocol
Specification for Capability Set 2”, DEN/SPS 03038-1, November 1997.
* ITU-T, “Interface Recommendation For Intelligent Network CS-1”, ITU-
Recommendation Q.1218, March 1993.
* ITU-T, “Interface Recommendation For Intelligent Network CS-2”, ITU-
Recommendation Q.1228, September 1997.
* Bellcore, ISCP-IP Interface specification (1129+), SR-3511, version
4.0, issue 1, October 1995.


8. Acronyms

ACD: Automatic Call Distribution
DTMF: Dual Tone Multifrequency
IVR: Interactive Voice Response (unit)
MC: Media Controller
MG: Media Gateway
NAS: Network Access Server
SG: Signalling Gateway


9. Authors' Addresses

Simon Tsang
BT laboratories, Martlesham Heath
Ipswich, IP5 3RE,
UK

Phone: +44 1473 649441
Email: simon.tsang@bt.com


Jerome Privat
BT laboratories, Martlesham Heath
Ipswich, IP5 3RE,
UK

Phone: +44 1473 648910
Email: jerome.privat@bt-sys.bt.co.uk


DISCLAIMER

Notice: This contribution has been prepared to  assist  the  IETF  as  a
basis   for  discussion.  It  is  not  a  binding  proposal  on  British
telecommunications plc;  specifically,  British  Telecommunications  plc
reserves  the  right  to modify, delete and amend any statements contain
herein.