IVR system

From Kolmisoft Wiki
Revision as of 11:43, 13 August 2009 by Admin (talk | contribs)
Jump to navigationJump to search

This system lets configure advanced IVR (Interactive Voice Response) systems.

Definitions

  • Voices - set of audio files which together forms a "voice", e.g. some female/male set of recordings for same IVR
  • Time Periods - start date/time and end date/time which describes some time period
  • IVR - set of IVR blocks
    • Blocks - part of IVR, where caller can take some action (press a button-extension, listen to recording, etc)
    • Extensions - possible button presses (0-9, *, # and some other special cases)
    • Actions - what action system should do when new Block is reached


Setup logic

  • Create Voice
    • Record/Upload necessary sound files to Voice
  • Create Time Period(s)
  • Create IVR
    • Create and configure Block(s)
  • Create IVR Dial Plan
  • Assign this IVR Dial Plan to some DID
  • Call this DID to test


IVR Voices

SETTINGS - Setup - IVR - Voices

Here it is possible to create several Voices. Voice is set of sound files. Usually all sound files in one Voice is recorded by one person to keep it sound correctly.

Multiple operations can be performed with Voices:

  • View a detailed list of the system Voices
  • Add a new sound Voice
  • View the sounds that have files in different Voices
  • Upload new sound files for Voices
  • Delete Voices and voice files from the system

You cannot remove sounds that are currently used.


Time Periods

SETTINGS - Setup - IVR - Time Periods

Here time periods can be set. They determine some time period.


IVR Structure

  • IVR - set of IVR blocks
    • Blocks - part of IVR, where caller can take some action (press a button-extension, listen to recording, etc)
    • Extensions - possible button presses (0-9, *, # and some other special cases)
    • Actions - what action system should do when some extension is activated

The main part of IVR is Block. Whole IVR is set of Blocks. Block can be considered as some part at IVR logic where caller can take some action.

Extension is what user does - presses some button (0-9, *, #), waits (Timeout) or presses any non described extension - which can be described as Invalid Extension - we will explain this in details later.

Actions are some actions which will be activated when caller comes to Block

Example

For example we have simple IVR:

  • when caller calls some DID and IVR answers with recording "Thank you for calling SOME COMPANY, for sales press 1, for management press 2, to get to live person please hold or press 3"

Here we have only 1 block: user listens to recording and can take some Action -> press some button (Extension) or wait (Wait is also Extension but special - it is called Timeout).

If user presses something different then 1, 2 or 3 - then message will be played again. This is called Invalid extension (i).

To summarize we have such situation:

  • 1 Block
  • Extensions: 1, 2, 3, t (timeout), i (invalid)
  • Actions: call to sales, call to management, call to live person, play recording again

This example is to illustrate main IVR building parts. We will show how they play together to build working IVR.


Extensions

Extensions are button presses on dialpad: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, * and # and two special extensions:

  • t - means timeout, when no extension is pressed in some determined time period
  • i - means invalid, this extension becomes active, when caller presses some extensions which is not described in IVR block configuration.

i (invalid) extension in previous example could be triggered when buttons 4, 5, 6, 7, 8, 9, 0, *, # are pressed, because only 1, 2 and 3 are described.


Actions

Action is some (yes...) action which is executed when new Block is reached.

Possible Actions:

  • Playback - plays some sound file
  • Delay - delays execution by some seconds
  • Change Voice - changes IVR Voice
  • Hangup - finishes the call
  • Transfer to - transfers call to:
    • Another IVR
    • DID
    • Device
    • Block
  • Debug - text message to Asterisk CLI which helps debugging
  • Set Accountcode - sets ownership for the call to some other user


Setup Hints/Tips

  • If you want to play some sound file, make sure you have set correct Voice. By default Voice = 'en', and if you have uploaded sound file for different Voice - select it before playing your Sound File:

Ivr select voice before playback.png





See also: