Estimated reading time: 51 min

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 FieldsTo Top

Common data input fields for IVR scenarios are described below.

 

BasicTo Top

 

Field Name Description
Name This is the field where the name given for IVR is defined.
IVR Type This is the field where the type of IVR is defined. Basic / Complex / Functional or Application type can be choosen.
Show Agent Screen The IVR name information is displayed on the Agent screen.
Profile If there will be a call via IVR because of the IVR scenario, Profile has to be set in IVR definition.
Language When 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 Provider In 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 Group IVR scenarios can be grouped for management ease. With grouping, they can work with only announcements in this group and IVR flow points.
# DTMF In 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.
Notes This field can be used for keeping note information about IVR step purpose.
Id Id that assigned by the system to IVR automatically.

 

DTMFTo Top

 

Field Name Description
DTMF The 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 Type Definition of the type of destination for easy selection of the destination to be routed after DTMF.
Destination The field where the destination to be routed by DTMF.
Variable value The 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.
Prefix for display name It 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 Condition The time condition value can be defined so that DTMF operates at specific time
Notes Information field.

 

Basic IVRTo Top

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.

 

BasicTo Top

 

Field Name Description
Dial Option The 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”.
Announce Defines 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 Announce If 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 Announce After 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 Timeout This 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.
Timeout This 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 message If 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 invalid It 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 Count No 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. Name In 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 DTMF IVR 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 DTMF Enables 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 IVRTo Top

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.

 

AnnounceTo Top

 

Field Name Description
Priority Since 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 Type Complex 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.
Announce If 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.
Announces If 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 Condition In 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.
Disable This 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.
Notes The area is hidden as it is in the disable option. Allows the entry of description information.

 

Functional IVRTo Top

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.

 

BasicTo Top

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

 

Field Name Description
Functional It 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.
Announce Defines the announcement to play on the line before the function is executed. It is positioned as an entry announcement.
Exit Announce Defines the announcement to play on the line after the function is executed.
Valid Announce If the result of the function is correct, the announcement defined here is played on the line.
Invalid message If the result of the function is incorrect, the announcement defined here is played on the line
Target If the result of the function is correct, it defines the destination to route.
Invalid Target If the result of the function is incorrect, it defines the destination to route.

 

Functions Format And DescriptionsTo Top

 

Command(s) Format 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} | 1 | 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 inclued 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 screen of the agent. UNSETVAR removes the variable value defined by parameter name from the line.
ADDHEADER | REMOVEHEADER COMMAND | HEADER_NAME | VALUE ADDHEADER | Diversion | 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.
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 | “Ahmet” <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 protected] 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 | 431232 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.
EQNEQ
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 to routed to target, if the Parameter value is equal to Operant.
NEQ enables the call to 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_GTDATE_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
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 IVRTo Top

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.