Tegsoft IVR System
  • 11 Mar 2024
  • 18 Minutes to read
  • Dark
    Light

Tegsoft IVR System

  • Dark
    Light

Article Summary

Tegsoft IVR module can be used for receiving inbound calls, informing with outbound call announces, conducting a survey with DTMF and transmitting the existing announces of agents. There are 4 different scenerios are deigned to provide these usage patterns. The definitions of these scenarios are in the IVR application of “PBX Management” menu group. Definition screen shows different input fields according to type of IVR. Input fields according to IVR scenarios and their operation are explained below.

General Data Input Fields
Common data input fields for IVR scenarios are described below.

Basic

Field NameExplanation
NameThis is the field where the name given for IVR is defined.
IVR TypeThis is the field where the type of IVR is defined. Basic / Complex / Functional or Application type can be choosen.
Show Agent ScreenThe IVR name information is displayed on the Agent screen.
ProfileIf there will be a call via IVR because of the IVR scenario, Profile has to be set in IVR definition.
LanguageWhen the IVR scenario is on proceed, the selected language will be set. All announcements will play according to language that set in IVR definitions.
TTS ProviderIn Complex IVR scenarios, the text becomes a voice announcement. IVR needs to TTS provider information to perform this function. TTS provider is defined in this field. If the announces that should be included as TTS in the IVR scenario do not sound, this may be due to a license error or definition in this field.
IVR GroupIVR scenarios can be grouped for management ease. With grouping, they can work with only announcements in this group and IVR flow points.
DTMFIn IVR systems, the # DTMF is usually used for end of input. In some cases # can be used as input (dialing content). There is no possible routing for # as default. If # set as end of input, the call will not route to XXX. If # will be accepted as DTMF and routing to XXX for dialing, this field must be selected as “Used as DTMF.” If “End of Inpurt” is selected, the # dialing is not processed and means that the dialing is finished.
Answer“Answer before playing announce” is set as default for each IVR. However, if the line is expected to be announced before call answering (earlymedia) or the IVR performs function is expected, “Answer without answering call” definition should be set. If default definition is wanted to keep, “Answer before playing announce” can be chosen. Therefore, each IVR call is answered.
NotesThis field can be used for keeping note information about IVR step purpose.
IdId that assigned by the system to IVR automatically.

DTMF

Field NameDescription
DTMFThe definition field that routes you with selections during IVR scenario. This definition field can be used as follows. When the customer click 1 on the IVR, the rule will be processed according to DTMF. When the customer click 2 on the IVR, the rule will be processed according to DTMF. When the customer click 32 on the IVR, the rule will be processed according to DTMF. When the customer click 1XXX on the IVR, the rule will be processed according to DTMF that is 4 digits and starts with 1. When the customer click 23XX on the IVR, the rule will be processed according to DTMF that is 4 digits and starts with 23. When the customer click * on the IVR, the rule will be processed according to DTMF. When the customer click XXXXXX. on the IVR, the rule will be processed according to DTMF that is 6 digits or more.
Destination TypeDefinition of the type of destination for easy selection of the destination to be routed after DTMF.
DestinationThe field where the destination to be routed by DTMF.
Variable valueThe DTMF is recorded according to preference. If a value is given here, the value specified in the LOG fields is replaced by the DTMF in the LOG field. If 1 is required for the internal line information and 2 is required for the external line information and the variable value is empty, 1 or 2 will be displayed in the IVR keying logs. If the variable value field is written “internal” for clicking 1 and “external” for clicking 2, “internal” will be shown after clicked 1 and “external” will be shown after clicked 2 in the IVR LOGs.
Prefixfor display nameIt is an area used to show the IVR clicking inside the line where the line is transmitted. For example, by clicking 1, the display name of the inbound calls can be shown as internal line.
Time ConditionThe time condition value can be defined so that DTMF operates at specific time.
NotesInformation field.

Basic IVR

It is used to provide basic voice response functions such as call routing with DTMF by playing the announce file, getting some information via DTMF, choosing the correct preference from a DTMF options etc. Functionally, it is an entry level scenario type. The table above shows common data entry fields. Additional data entry fields are described below.

Basic

Field NameDescription
Dial OptionThe basic IVR accepts dialing as input and routes them according to the rules given in the DTMF head. The dial option determines how the DTMF will be operated and the authorization limits of the DTMF. If “Only Options” is selected, the DTMF is compared and routed to the allowed routes under the tab “DTMF”. “Only Options” is the most accurate and secure routing method. In fact, it can also be routed to extensions in a controlled manner. To route a call to extension, dial option has to set “Only Options” and destination type has to be “Allowed Destination” then IVR will route the call extension that 1XXX. “Options and Extensions” firstly tries the rules, if the DTMF does not match any specified rules, then the number that is matched with the DTMF is tried from the extensions. If the dial option set as “All Inbound” , firstly tries the rules, then it tries to route to all inbound destinations defined before such as extensions, groups, skills(queues) etc. If extensions or destinations are registered to another PBX or if an external destination is to be routed from the IVR, then Profile has to be set and dial option has to be “All Inbound”.
AnnounceDefines the announce file preference. The announce file defined in this field is played to the caller / callee on the line. The file must be in 8 KHz 16 bit PCM MONO WAV format to play.
Exit AnnounceIf the IVR scenario will be resulted at the end of DTMF, the exit announce is heard first and then it will be routed. “I’m routing you please wait” can be used for exit announce. Although “Your conversations are recorded” announce is more accurate as a queue(skill) welcome announce, also it can be used for non-queues.
Timeout AnnounceAfter the announcement, there will be waiting time to DTMF. In case there is no DTMF, If an announcement is wanted to play, the announcement has to be choosen from this field. Sample announcements are like “You didn’t click”, “Please choose one from options” etc.
Loop For TimeoutThis option is used if the main announcement is to be repeated if there is no DTMF. If the checkbox is selected and there is no DTMF, the main announcement is repeated. If timeout announce is selected, the timeout announce is played first and then the main announcement is repeated. This case occurs until the maximum number of errors is reached. If the number of errors is 0, the announcement is not repeated.
TimeoutThis is the time given to DTMF. An announcement is played on the line and after it is finished a counter starts counting, if there is no clicking within the specified time, it is accpeted as “no DTMF”.
Invalid messageIf DTMF does not allow routing to the specified options (including dial options), it is accepted as invalid. “Invalid DTMF”, “Please choose one from specified options” etc. can be used for wrong clicking, kind of these announcements has to be set in this field.
Loop for invalidIt is the option that determines whether or not the announcement will be repeated if the person on the line makes a wrong clicking similar to the rules of timeout announcement repeat.
Error CountNo click during specified time or incorrect click is considered an error. Each error can give the user the option to click again or it doesn’t. Error count determines the maximum number of incorrect click attempts. For example, if clicking is not made, the routing will continue, and if the user wants to click again, the error number can be set to 0. Generally, the number of errors should be 0 in order to route the call in announcements such as “Please wait to connect to the operator” in IVR greetings. In cases where clicking is important, the error count can be set as 3 or 4 . In more basic menu routings, it is common to give the error count as 2 in cases where the call is routed to the submenus.
Channel Var. NameIn cases such as storing DTMF during the call and forwarding them to the agent screen, the DTMF can be given a name. With this name, the DTMF can be used in sub-menus, can be compared or presented to the agent for information purposes. Names such as DTMF, ACCOUNTCODE, PREFERENCE can be given. Since it is UTF8, there is no problem for using Turkish characters, but if the data is to be transmitted to other applications, using English without spaces can provide a integration without any problem.
Log valid DTMFIVR DTMF can be recorded in the system with the specified channel variable name or only as DTMF data. It can be used for getting IVR DTMF reports and transmitting them to other systems for integration purposes.If this option is selected and DTMF is valid, then it is recorded. Especially for important data (Credit card, customer password, etc.), this checkbox should not be selected. TO: (Time-out) and INV: (Invalid)
Log invalid DTMFEnables recording of invalid DTMF. To indicate DTMF is invalid, the datas are recorded with prefix INV-. For example, if the 5 DTMF is valid, it is saved as 5, and if it is invalid, it is saved as INV-5.
Timeout dest.By considering the number of errors, If the last error is “timeout error”, the call is routed to the destination defined in this field.
Invalid dest.By considering the number of errors, if the last error is “invalid DTMF”, the call is routed to the destination defined in this field.

DTMF of the person on the line are routed according to destination rules described in the chapter DTMF .

Complex IVR

In addition to the basic IVR functions, it is an IVR flow type that supports special announcement types such as date, number, currency, telephone. The complex IVR flow type is also used for reading announcements read by converting text to speech or reading data clicked by the user. All definitions and rules under chapter of basic IVR are also same for complex IVR. Complex IVR is used for routing the call according to DTMF like basic IVR. When we compare basic IVR and complex IVR, the extra feature of the complex IVR is the announcement system. Complex IVR can combine multiple announcement files instead of a single announcement and generate announcements with rules. Announcements play depends on rules.

Definitions of the complex IVR and descriptions of routing with DTMF are same as these described above. Instead of “Announce” field, there is “Announce” is in the another tab in the complex IVR.

Announce

Field NameDescription
PrioritySince Complex IVR can combine multiple IVR announcement files, announcements must be played in a specific order. The priority is 5 for the first created record. The user can also arrange this priority sequence as (1,2,3, …) or (10,15,25, …). The priority sequence must be positive integer. It doesn’t need to proceed sequentially or according to a rule. 2 announcements can not define with same priority.
Announce TypeComplex IVR announcement infrastructure allows multiple types of announcements to be played on the line.. Some announcements consist of existed files, some announcements are generated. In this field, the user defines which announcement will be played to the person on the line. Announces: It is the default value. This option is used to play the announcement files selected with combobox from “Announces” field that was previously uploaded.Texts (TTS): It converts the text defined in the “Announces” field to announcement by using text-to-speech technology and then it is transmitted to the person on the line. Digits: Reads defined value in “announces” field one by one as number. For example, if the value is 123, it converts to announcement file as one, two, three. Number: Enables numerical reading of the defined value. For example, if the value is 123, it converts to announcement file as one hundred twenty three. Spell: Reads defined values in “announces” field one by one as character. It is generally used to transmit information such as serial number and code to the person on the line. Phone: It is used to read value in telephone format to the person on the line. If the value is 3211010, it is read as 321 10 10 format to user. if it is 02123211010, it is read as 0 212 321 10 10 format. Date: Reads defined value in “announces” field one by one as date. If the date value is 02.03.2015, it is read as 2 March 2015. To define date, there can be dot(.), space, slash(/) between value. Money USD: The option used to read the value of the US dollar. If the value is 0.34, it is read as 34 cent, 5 is read as 5 dollars. 45.21 is read as 45 dollars and 21 cents. Money TL: The option used to read the value of the Turkish Lira. If the value is 0.34, it is read as 34 kurus, 5 is read as 5 liras. 45.21 is read as 45 liras and 21 kurus.
AnnounceIf the type is Announces, the announce selected from this field is played to the person on the line. In large scale applications announces may increase to numerically high numbers and may be difficult to manage. In order to avoid this problem, it is recommended that IVRs should be grouped, when there are potentially large numbers. For a grouped IVR, the announce preferences come from the announcements included in that group. In this case, it makes to manage definitions easier.
AnnouncesIf the IVR content is generated, the data to be generated is defined in this field. If the announce type preference is text, the specified value is accepted as text and it is converted to an announcement. For money, this value is assumed as money. A fixed text can be entered by the user in the announce field, or even variables such as DTMF values clicked before, automatic call, and uploads from the EXCEL file can be used. For example, if the person has processed the “Variable value” as CUSTOMERCODE in the previous DTMF, the C{CUSTOMERCODE} variable gets value in this DTMF. If the EXCEL column name is DEBT, C{DEBT} refers to the value below the column.
Time ConditionIn some cases it may be desirable to read some announcements according to time. Working time and out of working time IVR separation should be made with the incoming call route. Time based announcements can be used for basic time based functions such as the phrase “good day”, “happy holidays”, “good evening” where the IVR scenario has not changed but the announcement has changed or the DTMF has been added or removed. It is like when a campaign announcement is activated at campaign time and allows DTMF. Announcements should be done according to the campaign time in the announcement setting and DTMF should be accepted according to the campaign time in the DTMF settings.
DisableThis option is in the hidden column header. After clicking the column header, we can make “disable” column from view visible by clicking checkbox. The announcement can be disabled after click on the checkbox of “disable” column. Since the announcement is disabled, the person on the line will not hear this announcement.
NotesThe area is hidden as it is in the disable option. Allows the entry of description information.

Functional IVR

It is the IVR flow that acts as a bridge between complex IVR and application IVR and performs tasks such as comparison, voice recording initialization, reading data with HTTP REST api. Since the functional IVR is between the application IVR and the complex IVR, it may require very basic programming knowledge to understand the operating procedure. Unlike basic and complex IVR, it doesn’t route with DTMF. It is not for DTMF, it is an IVR flow designed to perform task or to make comparisons.Field names and descriptions are given below.

Basic
The common descriptions mentioned above are same and when the functional IVR type is selected, the following additional fields appear.

Field NameDescription
FunctionalIt is the command that defines how functional IVR works. COMMAND - PARAMETER - PARAMETER … is written in the format. Parameters can be text or numeric values that are fixed values, variable values on the line, or values that will return with HTTP get. Fixed Values: Depending on the type of command or comparison, these are text and numeric fields such as 3, 78, and BLUE. Variable Values: System variables such as {TODAY}, {NOW}; EXCEL column variables like C{CUSTOMERCODE} and previous DTMF on the line like C{DTMF}; TBLCRMCONTACTS {HOMEADDRESS} that CRM information of the contact person; There may be remote data, such as URLGET{http://www.mycompanycrm.com/ivr.aspx?deger=A1&telefon=C {PHONE}}, that can be get by HTTP get. For the commands, the values and formats with their descriptions are given table below.
AnnounceDefines the announcement to play on the line before the function is executed. It is positioned as an entry announcement.
Exit AnnounceDefines the announcement to play on the line after the function is executed.
Valid AnnounceIf the result of the function is correct, the announcement defined here is played on the line.
Invalid messageIf the result of the function is incorrect, the announcement defined here is played on the line.
TargetIf the result of the function is correct, it defines the destination to route.
Invalid TargetIf the result of the function is incorrect, it defines the destination to route.

Functions Syntax And Descriptions

COMMAND(S)

SYNTAX

EXAMPLE

DESCRIPTION

NULL

NOTNULL

COMMAND | PARAMETER

NULL | C{DTMF}

NOTNULL | C{CUSTOMERCODE}

NULL: If the value defined in the parameter is empty, the call is directed to the target and in other cases the call is directed to the invalid target.

NOTNULL: If the value defined in the parameter is empty, the call is directed to the invalid target and in other cases to the target.

IN

NOTIN

COMMAND | COMPARED | VALUE1 | VALUE2 | VALUE3 | ... | VALUE_N

IN | C{DTMF} 11 | 2 | 7

If the value given in the compared field matches any of the probabilities, IN directs the call to the target. If it doesn't match any of the probabilities, NOTIN directs the call to the invalid target.

INCONTGRPID

NOTINCONTGRPID

COMMAND | CONTACT GROUP ID

IN | afab91df-2c8f-4fa9-885e-fefedf34a3d7

If the person on the line is in the contact group defined in the parameter, INCONTGRPID command will direct the call to the target. If person is not included in this group, NOTINCONTGRPID command will direct the call to the invalid target.

SETVAR

SETCTIVAR

UNSETVAR

COMMAND | PARAMETER NAME | VALUE

SETCTIVAR | WANT | SURVEY

This is the function set that enables the functions of the call variable. SETVAR and SETCTIVAR accept the variable name as the parameter name and set the value to the value in the field. If SETCTIVAR is preferred, this information is displayed on the agent screen. UNSETVAR removes the variable value defined by parameter name from the line.

SETVAR

SETCTIVAR

UNSETVAR


COMMAND | 
KEY :VALUE


SETVARS | KEY1:VALUE1,KEY2:VALUE2

SETCTIVARS | KEY1,KEY2,KEY3
SETCTIVARS | KEY1:VALUE1,KEY2:VALUE2

UNSETVARS | KEY1,KEY2,KEY3

Multiple SET CTI VAR using in Functional IVR

Channel Variable-->SETVARS 

CTI Variable-->SETCTIVARS: The KEY values must be defined in the channel variables.



ADDHEADER

REMOVEHEADER

COMMAND | HEADER_NAME | VALUE

ADDHEADER | Diversion | <902123212088@11.11.11.111>

ADDHEADER is used to add sip header and REMOVEHEADER is used to delete sip header. If the format is correct, in each case the call is routed to target.

EQ

NEQ

ISTRUE

ISFALSE

COMMAND | OPERANT | PARAMETER

EQ | C{DTMF} | 7

ISTRUE routes the call to target if the result of the operant is correct. ISFALSE routes the call to target if the result of the operant is incorrect.

EQ enables the call is routed to target if the Parameter value is equal to Operant.

NEQ enables the call is routed to target, if the Parameter value is not equal to Operant.

INTIME

COMMAND | TIME CONDITION ID

INTIME | 093492ds23-123sfdwasd-123sd

If the IVR is included in the defined time condition, the call is routed to the target and it other case to the invalid target.

OUTOFTIME

COMMAND | TIME CONDITION ID

OUTOFTIME | 093492ds23-123sfdwasd-123sd

If the IVR is not included in the defined time condition, the call is routed to the target and it other case to the invalid target.

DATE_GT

DATE_GTE

DATE_LT

DATE_LTE

COMMAND | PARAMETER 1 | PARAMETER 2

DATE_GT | {TODAY} | 2015-12-23-16-45-01

It enables checks such as date, before, after.

LOGDTMF

COMMAND | VARIABLE NAME | VALUE

LOGDTMF | CUSTOMER | OK

It is used to process a data into DTMF records of IVR.

SETCALLERID

COMMAND | CALLERID_NAME

SETCALLERID | "John" <02123211010>

It enables to change value of caller number(callerid). If the format is correct, in each case the call is routed to target.

STARTRECORDING
STOPRECORDING

COMMAND

STARTRECORDING

It is used to start or stop voice recording during a call. The call is recorded in the standard voice recording file.

RECORD

COMMAND | PARAMETER=VALUE | PARAMETER=VALUE | … | PARAMETER=VALUE

RECORD | FILENAME=customer.wav | DURATION=30 | EMAIL=sample@test.com

Command used to record specific timezone that is independent of the call recording to a target file. It works according to the values defined by the parameter. Parameter descriptions are given below.

PATH: Target file

FILENAME: File name

DURATION: MAX recording time

ALERT: Beeping before recording starts. True/False

EMAIL: The email to send voice record EMAILTEMPLATE: Email template

EMAILFROM: Value of email sender

DTMF: To stop voice recording with DTMF, such as NONE/*/ #

SILENCE: Disable to record calling

SETCONTID

COMMAND | CONTID VALUE

SETCONTID | 1431232

Used to set the contact record in the related calling. If the contact record is set, it is processed to the CDR record. Use of the value, such as the contact name, is provided.

DestinationRouter

COMMAND | NUMBER | DESTINATION TYPE | DESTINATION

DestinationRouter |1002 | EXT | 123123-arrv123213-232

It is command used to route the call directly to a destination. Destination types and their meanings are listed below.

CONF: Conference room

EXT: Extension

OPER: Emergency code management

FAX: Fax servers

QUEUE: Queue (skill)

TRSTSRC: Allowed Destinations

VMQ: Voice Mail (silent)

VMA: Voice Mail Management

VM: Voice Mail

VMB: Voice mail busy

VMU: Voice Mail Unreachable

SHRT: Short number

CUST: Custom destination

RINGGRP: Ring Group

IVR: IVR

TRUNK: Trunk

TERM: Terminate

CAMPV: Voice Campaign

CAMPSMS: SMS Campaign

CAMPEMAIL: Email Campaign

Application IVR

It is the type of IVR flow used to perform tasks such as calling the webservice, changing the IVR flow by getting information from the customer database, and controlling card / subscriber / ID number entries when functions using screens are not sufficient. The program IVR is loaded into the system by using the “Manage Custom Applications” from the “custom application” section under the “system management”. Business partners with programming skills and the Tegsoft software team are competent in program IVR.


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.