Difference between revisions of "IVR system"

From Kolmisoft Wiki
Jump to navigationJump to search
Line 75: Line 75:
== Extensions ==
== Extensions ==


Extensions are button presses on dialpad: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, * and # and two special extensions:
Extensions are button presses on the 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.
* t - means "timeout", when no extension is pressed in a determined time period.
* i - means invalid, this extension becomes active, when caller presses some extensions which is not described in IVR block configuration.
* i - means "invalid". This extension becomes active when a caller presses some extensions that are not described in the 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.
The 'i' (invalid) extension in the previous example could be triggered when buttons 4, 5, 6, 7, 8, 9, 0, *, # are pressed, because only 1, 2 and 3 are described.




Line 86: Line 86:
== Actions ==
== Actions ==


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


Possible Actions:
Possible Actions:


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


  The maximum amount of time permitted between digits when the
  The maximum amount of time permitted between digits when the
  user is typing in an extension. When this timeout expires,
  user is typing in an extension. When this timeout expires
  after the user has started to type in an extension, the
  after the user has started to type in an extension, the
  extension will be considered complete, and will be
  extension will be considered complete, and will be
  interpreted. Note that if an extension typed in is valid,
  interpreted. Note that if an extension typed in is valid,
  it will not have to timeout to be tested, so typically at
  it will not have to timeout to be tested, so typically at
  the expiry of this timeout, the extension will be considered
  the expiry of this timeout, the extension will be considered
  invalid (and thus control would be passed to the 'i'
  invalid (and thus control would be passed to the 'i'
  extension, or if it doesn't exist the call would be
  extension, or if none exists the call would be
  terminated). The default timeout (in MOR IVR) is 3 seconds.
  terminated). The default timeout (in MOR IVR) is 3 seconds.


<br>
<br>
Line 124: Line 124:
  The maximum amount of time permitted after falling through a
  The maximum amount of time permitted after falling through a
  series of priorities for a channel in which the user may
  series of priorities for a channel in which the user may
  begin typing an extension. If the user does not begin typing an
  begin typing an extension. If the user does not begin typing an
  extension in this amount of time, control will pass to the
  extension in this amount of time, control will pass to the
  't' extension if it exists, and if not the call would be
  't' extension if one exists, or if none exists, the call would be
  terminated. Once the user begins to type an extension Asterisk
  terminated. Once the user begins to type an extension, Asterisk
  will wait for digit timeout to be reached and response timeout has
  will wait for digit timeout to be reached, and response timeout has
  no effect. The default timeout (in MOR IVR) is 10 seconds.  
  no effect. The default timeout (in MOR IVR) is 10 seconds.  


Line 135: Line 135:
== Deleting IVR ==
== Deleting IVR ==


* If IVR is not assigned to any Dial Plan then you can delete IVR by pressing [[Image:icon_delete.png]] icon near some IVR in IVR menu.
* If an IVR is not assigned to any Dial Plan, you can delete the IVR by clicking the [[Image:icon_delete.png]] icon near an IVR in the IVR menu.
* If IVR is assigned to some Dial Plan, you need to unassign IVR from Dial Plan in order to be able to delete it.
* If the IVR is assigned to a Dial Plan, you need to unassign the IVR from the Dial Plan to be able to delete it.




== Setup Hints/Tips ==
== 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:
* If you want to play sound file, make sure you have set the correct Voice. By default, Voice = 'en'. If you have uploaded a sound file for a different Voice, select it before playing your Sound File:


[[Image:ivr_select_voice_before_playback.png]]
[[Image:ivr_select_voice_before_playback.png]]
Line 148: Line 148:
== Limitations ==
== Limitations ==


* Currently it is not possible to record calls for device which is accessed from IVR. E.g. if calls goes like this: IVR -> Device, and device has option to record calls for this device - these calls will not be recorded.  
* Currently it is not possible to record calls for a device which is accessed from IVR. For example, if calls go like this: IVR -> Device, and device has option to record calls for this device, these calls will not be recorded.  


<br><br>
<br><br>

Revision as of 10:24, 16 May 2010

Ivr example.png

This system makes it possible to configure advanced IVR (Interactive Voice Response) systems.

Definitions

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

Setup logic

  • Create Voice
    • Record and upload the necessary sound files to Voice.
  • Create Time Period(s).
  • Create IVR.
    • Create and configure Block(s).
  • Create the IVR Dial Plan.
  • Assign this IVR Dial Plan to a DID.
  • Call this DID to test it.

IVR Voices

SETTINGS - Setup - IVR - Voices

Here it is possible to create several Voices. A Voice consists of a set of sound files. Usually all the sound files in one Voice are recorded by one person to keep the sound consistent.

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. There is a limit of three periods in Dial Plan. There is a fourth period, but it only consists of all the remaining time that is not covered by the previous three periods.

IVR Structure

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

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

Extension is what the user does – presses a button (0-9, *, #), waits (Timeout), or presses any non-described extension – which can be described as an Invalid Extension. We explain this in detail later.

Actions are actions which will be activated when the caller comes to a Block.

Example

For example, here is a simple IVR:

  • A caller calls a DID and IVR answers with a recording: "Thank you for calling SOME COMPANY. For sales press 1, for management press 2, to speak to a consultant please hold or press 3."

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

If the user presses something different than 1, 2 or 3, the message will be played again. This is called an Invalid Extension, or (i) for short.

To summarize, we have the following situation:

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

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

Extensions

Extensions are button presses on the 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 a determined time period.
  • i - means "invalid". This extension becomes active when a caller presses some extensions that are not described in the IVR block configuration.

The 'i' (invalid) extension in the 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

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

Possible Actions:

  • Playback – plays a sound file.
  • Delay – delays execution by some seconds.
  • Change Voice – changes IVR Voice.
  • Hangup – finishes the call.
  • Transfer to – transfers the 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.




Timeouts

Timeout digits

The maximum amount of time permitted between digits when the
user is typing in an extension. When this timeout expires
after the user has started to type in an extension, the
extension will be considered complete, and will be
interpreted. Note that if an extension typed in is valid,
it will not have to timeout to be tested, so typically at
the expiry of this timeout, the extension will be considered
invalid (and thus control would be passed to the 'i'
extension, or if none exists the call would be
terminated). The default timeout (in MOR IVR) is 3 seconds.


Timeout Response

The maximum amount of time permitted after falling through a
series of priorities for a channel in which the user may
begin typing an extension. If the user does not begin typing an
extension in this amount of time, control will pass to the
't' extension if one exists, or if none exists, the call would be
terminated. Once the user begins to type an extension, Asterisk
will wait for digit timeout to be reached, and response timeout has
no effect. The default timeout (in MOR IVR) is 10 seconds. 



Deleting IVR

  • If an IVR is not assigned to any Dial Plan, you can delete the IVR by clicking the Icon delete.png icon near an IVR in the IVR menu.
  • If the IVR is assigned to a Dial Plan, you need to unassign the IVR from the Dial Plan to be able to delete it.


Setup Hints/Tips

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

Ivr select voice before playback.png


Limitations

  • Currently it is not possible to record calls for a device which is accessed from IVR. For example, if calls go like this: IVR -> Device, and device has option to record calls for this device, these calls will not be recorded.



See also