Fortinet Document Library

Version:

Version:

Version:

Version:

Version:


Table of Contents

FortiVoice Phone System Administration Guide

Configuring IVRs

FortiVoice Interactive Voice Response (IVR) function allows it to interact with callers through the use of voice and DTMF tones input via keypad. Callers proceed according to the IVR audio instructions to reach the callees or get the information they need.

Based on the information collected from callers and by interacting with the backend database, FortiVoice IVR can prioritize the calls using call queues and present callers’ information to the agents.

FortiVoice IVR interfaces with RESTful Web service for querying caller information from the database.

For more information, see IVR Technical Note.

This topic includes:

Setting up an IVR

Call Center > IVR > IVR allows you to view the existing IVR list and create new IVRs.

Creating new IVRs includes configuring:

  • SIP header collector to share IVR information among multiple FortiVoice units based on information gathered by digit and RESTful collectors (see To configure a SIP header collector)
  • the digits collector to collect digit inputs from callers (see To configure a digit collector)
  • the RESTful collector to gather caller information from database (see To configure a RESTful collector)
  • call handling to route the calls based on information gathered by digit and RESTful collectors, and
  • error handling to deal with unknown errors and RESTful service errors.

To view the IVR list

  1. Go to Call Center > IVR > IVR.
  2. Click the Expand all/Collapse all.

    The IVR tree list displays. Under each IVR name, configuration items are listed. Clicking an item opens its configuration page.

To configure a SIP header collector

  1. Go to Call Center > IVR > IVR and click the Switch (two opposite arrows) icon.
  2. Click New and type the name of the IVR and description.
  3. Click Create.
  4. From the IVR name list, select the name you created and click Edit to open the IVR configuration page.
  5. For Description, select Edit to enter any notes you have for the IVR.
  6. Click Add SIP Header Collector.

    GUI field

    Description

    Name

    Enter a name for the SIP header collector.

    Description

    Enter any notes you have for the SIP header collector.

    Variable

    Click New and do the following:

    1. For Variable, enter a value for a SIP header field based on your organization’s SIP header definitions, for example, ticket_id. This value must be the same on every FortiVoice unit that shares IVR information.
    2. For Action on returned data, do the following:
      • None: Select if you do not want to share the information that the SIP header collector gathers with other interfaces.
      • Add to agent console - Display name: Select if you want agents in the queues where the IVR calls are routed to see the information that the SIP header collector gathers. Enter a name for the information to display on the agent console.
      • Add to SIP header - Field name: Select if you want to share the information that the SIP header collector gathers with other SIP header collectors. Enter a value that matches the value on the SIP header to enable information sharing.
      • Add to remote CDR - Field name: Select if you want to share the information that the SIP header collector gathers with a remote CDR database. Enter a value that matches the value on the remote CDR to enable information sharing.
      • test Add to report - Field name: Select if you want to share the information that the SIP header collector gathers with survey reports. Enter a value that matches the value on the surveys to enable information sharing. For information on surveys, see Configuring surveys.
    3. Click Create.
  7. Click Create.

    You can create a maximum of 10 SIP header collectors which are saved as variables.

To configure a digit collector

  1. After configuring the SIP header collector, click Add Digits Collector to configure digit inputs collection from callers. You can create a maximum of 10 digit collectors.

    GUI field

     

    Description

    Name

    Enter a name for the digit collector.

    Prompt

    Select the audio file that you want callers to listen to. You can also create a new file or edit the selected one. For more information, see Managing phone audio settings .

    Enable read back

    Select if you want the digit inputs to be read out to the caller.

    Action on returned data

    • None: Select if you do not want to share the information that the digit collector gathers with other interfaces.
    • Add to agent console - Display name: Select if you want agents in the queues where the IVR calls are routed to see the information that the digit collector gathers. Enter a name for the information to display on the agent console.
    • Add to SIP header - Field name: Select if you want to share the information that the digit collector gathers with other SIP header collectors. Enter a value that matches the value on the SIP header to enable information sharing.
    • Add to remote CDR - Field name: Select if you want to share the information that the digit collector gathers with a remote CDR database. Enter a value that matches the value on the remote CDR to enable information sharing.
    • Add to report - Field name: Select if you want to share the information that the digit collector gathers with survey reports. Enter a value that matches the value on the surveys to enable information sharing. For information on surveys, see Configuring surveys.

    Description

    Enter any notes you have for the digit collector.

    Digits Setting

     

     

    Min digits

    Enter the minimum digits the digits collector allows. The range is 1-30.

     

    Max digits

    Enter the maximum digits the digits collector allows. The range is 1-30.

     

    Max invalid input allowed

    Enter the number of times a caller is allowed for inputting wrong digits. The call will be terminated if the limit is reached. The range is 0-10.

     

    Timeout

    Enter the time limit that a caller is allowed for taking NO action after the call is put through. The call will be terminated if the time limit is reached. The range is 0-600 seconds.

     

    Max timeout allowed

    Enter the number of timeouts a caller is allowed for taking no action after the call is put through. The call will be terminated if the number of timeouts limit is reached. The range is 0-10.

    For example, if Timeout is set to 10 seconds and Max timeout allowed to 3, a caller would have a total of 30 seconds timeout time after he or she dials in and takes no action afterwards.

  2. Click Create.

    You can create a maximum of 10 digit collectors which are saved as variables.

To configure a RESTful collector

  1. After configuring the digit collector, click Add RESTful Collector to configure the database collector for resource querying.

    GUI field

     

    Description

    Name

    Enter a name for the RESTful collector.

    Service

    Select the RESTful service for the collector. You can also create a new service or edit the selected one. For more information, see Configuring RESTful service.

    Method

    Choose the method to submit the information collected by the FortiVoice IVR system to the database server (as HTTP POST or HTTP GET) and use the value as a variable in your SQL statement.

    Parameters

    Select Edit to enter query parameters to customize the results returned from a GET or POST operation on the database, such as sorting or filtering.

    Optionally, click Add Variable to insert self or system defined variables into the parameters.

    URL

    Once you select Service, its URL displays here.

    HTTP Headers

    Select Edit to enter a HTTP header for information querying on the RESTful web service.

    Optionally, click Add Variable to insert self or system defined variables into the HTTP header.

    This option is only available if you select Get for Method.

    Posting HTTP Headers

    Select Edit to enter a HTTP header for information querying on the RESTful web service.

    Optionally, click Add Variable to insert self or system defined variables into the HTTP header.

    This option is only available if you select Post for Method.

    Posting Message Body

    Select Edit to enter a HTTP message body for information querying on the RESTful web service.

    Optionally, click Add Variable to insert self or system defined variables into the HTTP body.

    This option is only available if you select Post for Method.

    Timeout

    Enter the time allowed for the query to be processed. If the time elapses before the query response is complete, partial information may be returned. The range is 0-600 seconds.

    Max retry allowed

    Enter the number of database query tries allowed. The query will be denied if the retry limit is reached. The range is 0-10.

    Description

    Enter any notes you have for the RESTful collector.

    New (under Fields)

    Click to name each of the attributes returned from a database query to present it or use it as a variable.

     

    Field

    Enter a name for the attribute you want to define.

     

    Query

    Enter the query parameter for the attribute you want to define. Optionally, click Add Variable to insert self or system defined variables into the parameter.

     

    Action on returned data

    • None: Select if you do not want to share the information that the RESTful collector gathers with other interfaces.
    • Add to agent console - Display name: Select if you want agents in the queues where the IVR calls are routed to see the information that the RESTful collector gathers. Enter a name for the information to display on the agent console.
    • Add to SIP header - Field name: Select if you want to share the information that the RESTful collector gathers with other SIP header collectors. Enter a value that matches the value on the SIP header to enable information sharing.
    • Add to remote CDR - Field name: Select if you want to share the information that the RESTful collector gathers with a remote CDR database. Enter a value that matches the value on the remote CDR to enable information sharing.
    • Add to report - Field name: Select if you want to share the information that the RESTful collector gathers with survey reports. Enter a value that matches the value on the surveys to enable information sharing. For information on surveys, see Configuring surveys.
  2. Click Create and then Create.

    You can create a maximum of 10 RESTful collectors which are saved as variables.

To configure IVR handling

  1. After configuring the RESTful collectors, click Add IVR handling to configure call processing using the digit and RESTful collector configurations.

    SIP header, digit and RESTful collector configurations only take effect after IVR handling is set up.

    GUI field

     

    Description

    Condition

    Configure the conditions based on which call processing actions are taken.

     

    Unconditional

    Select if you do not need to configure the conditions. In this case, the system default condition applies.

     

    Variable

    Click Add to insert self or system defined digit or RESTful variable for the condition.

    This option appears if you deselect Unconditional.

     

    Operator

    Use query operators to assign a value to the variable, or perform mathematical operations.

    This option appears if you deselect Unconditional.

     

    Value

    Enter the value assigned by the operator to the variable. Optionally, click Add Variable to insert self or system defined variables into the value.

    This option appears if you deselect Unconditional.

     

    Description

    Enter any notes you have for the IVR handling.

    Action

    Click New to configure the actions to take based on the conditions.

     

    Action type

    Select the IVR action. Depending on the action type selected, further configuration may be needed. For example, if you select Dial extension, enter the extension to which a call is transferred.

    Click Create.

    You can create multiple actions.

    Some action types have an option for you to add a variable for further configuration, such as Dial Extension or Call Queue. Instead of manually adding a value, you may choose a predefined variable which contains the further configuration information of the action type you choose.

  2. Click Create.

To configure error handling

  1. After configuring IVR handling, click Add Error Handling to deal with unknown errors and RESTful service errors.
  2. For Error type, select Unspecified for unknown errors and RESTful for RESTful service errors.
  3. Click New to select the action. Depending on the action type selected, further configuration may be needed. For example, if you select Dial extension, enter the extension to which a call is transferred.

    Some action types have an option for you to add a variable for further configuration, such as Dial Extension or Call Queue. Instead of manually adding a value, you may choose a predefined variable which contains the further configuration information of the action type you choose.

  4. Click Create, Create.
  5. Click OK to complete the IVR configuration.

Configuring RESTful service

FortiVoice IVR interfaces with RESTful web service for querying caller information from the database. When RESTful service is set up and a caller dials in, the FortiVoice unit sends caller information inquiry to the RESTful web service which sends back the information to the agent who processes the call.

Call Center > IVR > RESTful service allows you to configure the RESTful web service.

To configure RESTful service

  1. Go to Call Center > IVR > RESTful service, click New and do the following:

    GUI field

    Description

    Name

    Enter a name for the configuration.

    Protocol

    Select the protocol for the service.

    Authentication

    Password: Select to enter the user name and password for logging onto the RESTful server.

    OAuth: Select to use Open Authorization to access the RESTful server without exposing your account credential.

    • Service format: Select Salesforce or other RESTful services configuration format.
    • Username: Enter the login user name registered on the RESTful server.
    • Password: Enter the login password registered on the RESTful server.
    • Login server: Enter the IP address of the RESTful server.
    • Client ID: Enter the consumer key from the RESTful server.
    • Client secret: Enter the consumer secret from the RESTful server. If you choose Salesforce as Service Format, enter the consumer key and the token from the server in the format of <consumer key><token>. For information on FortiVoice and Salesforce integration, see Salesforce Integration with FortiVoice Enterprise Technical Note.
    • Base URL suffix: Enter the Salesforce object name, for example, /query/, and click Get Salesforce API URI to populate the Base URL field. Note the leading and trailing "/" must be entered before and after the object name.
      This option is only available if you choose Salesforce for Service format.

    Base URL

    If you choose None for Service format, enter the URL of the server hosting RESTful service.

    Click Test to validate the URL.

    SSL verification

    Select if required.

    Description

    Click Edit to enter any notes for the configuration.

  2. Click Create.

Configuring IVRs

FortiVoice Interactive Voice Response (IVR) function allows it to interact with callers through the use of voice and DTMF tones input via keypad. Callers proceed according to the IVR audio instructions to reach the callees or get the information they need.

Based on the information collected from callers and by interacting with the backend database, FortiVoice IVR can prioritize the calls using call queues and present callers’ information to the agents.

FortiVoice IVR interfaces with RESTful Web service for querying caller information from the database.

For more information, see IVR Technical Note.

This topic includes:

Setting up an IVR

Call Center > IVR > IVR allows you to view the existing IVR list and create new IVRs.

Creating new IVRs includes configuring:

  • SIP header collector to share IVR information among multiple FortiVoice units based on information gathered by digit and RESTful collectors (see To configure a SIP header collector)
  • the digits collector to collect digit inputs from callers (see To configure a digit collector)
  • the RESTful collector to gather caller information from database (see To configure a RESTful collector)
  • call handling to route the calls based on information gathered by digit and RESTful collectors, and
  • error handling to deal with unknown errors and RESTful service errors.

To view the IVR list

  1. Go to Call Center > IVR > IVR.
  2. Click the Expand all/Collapse all.

    The IVR tree list displays. Under each IVR name, configuration items are listed. Clicking an item opens its configuration page.

To configure a SIP header collector

  1. Go to Call Center > IVR > IVR and click the Switch (two opposite arrows) icon.
  2. Click New and type the name of the IVR and description.
  3. Click Create.
  4. From the IVR name list, select the name you created and click Edit to open the IVR configuration page.
  5. For Description, select Edit to enter any notes you have for the IVR.
  6. Click Add SIP Header Collector.

    GUI field

    Description

    Name

    Enter a name for the SIP header collector.

    Description

    Enter any notes you have for the SIP header collector.

    Variable

    Click New and do the following:

    1. For Variable, enter a value for a SIP header field based on your organization’s SIP header definitions, for example, ticket_id. This value must be the same on every FortiVoice unit that shares IVR information.
    2. For Action on returned data, do the following:
      • None: Select if you do not want to share the information that the SIP header collector gathers with other interfaces.
      • Add to agent console - Display name: Select if you want agents in the queues where the IVR calls are routed to see the information that the SIP header collector gathers. Enter a name for the information to display on the agent console.
      • Add to SIP header - Field name: Select if you want to share the information that the SIP header collector gathers with other SIP header collectors. Enter a value that matches the value on the SIP header to enable information sharing.
      • Add to remote CDR - Field name: Select if you want to share the information that the SIP header collector gathers with a remote CDR database. Enter a value that matches the value on the remote CDR to enable information sharing.
      • test Add to report - Field name: Select if you want to share the information that the SIP header collector gathers with survey reports. Enter a value that matches the value on the surveys to enable information sharing. For information on surveys, see Configuring surveys.
    3. Click Create.
  7. Click Create.

    You can create a maximum of 10 SIP header collectors which are saved as variables.

To configure a digit collector

  1. After configuring the SIP header collector, click Add Digits Collector to configure digit inputs collection from callers. You can create a maximum of 10 digit collectors.

    GUI field

     

    Description

    Name

    Enter a name for the digit collector.

    Prompt

    Select the audio file that you want callers to listen to. You can also create a new file or edit the selected one. For more information, see Managing phone audio settings .

    Enable read back

    Select if you want the digit inputs to be read out to the caller.

    Action on returned data

    • None: Select if you do not want to share the information that the digit collector gathers with other interfaces.
    • Add to agent console - Display name: Select if you want agents in the queues where the IVR calls are routed to see the information that the digit collector gathers. Enter a name for the information to display on the agent console.
    • Add to SIP header - Field name: Select if you want to share the information that the digit collector gathers with other SIP header collectors. Enter a value that matches the value on the SIP header to enable information sharing.
    • Add to remote CDR - Field name: Select if you want to share the information that the digit collector gathers with a remote CDR database. Enter a value that matches the value on the remote CDR to enable information sharing.
    • Add to report - Field name: Select if you want to share the information that the digit collector gathers with survey reports. Enter a value that matches the value on the surveys to enable information sharing. For information on surveys, see Configuring surveys.

    Description

    Enter any notes you have for the digit collector.

    Digits Setting

     

     

    Min digits

    Enter the minimum digits the digits collector allows. The range is 1-30.

     

    Max digits

    Enter the maximum digits the digits collector allows. The range is 1-30.

     

    Max invalid input allowed

    Enter the number of times a caller is allowed for inputting wrong digits. The call will be terminated if the limit is reached. The range is 0-10.

     

    Timeout

    Enter the time limit that a caller is allowed for taking NO action after the call is put through. The call will be terminated if the time limit is reached. The range is 0-600 seconds.

     

    Max timeout allowed

    Enter the number of timeouts a caller is allowed for taking no action after the call is put through. The call will be terminated if the number of timeouts limit is reached. The range is 0-10.

    For example, if Timeout is set to 10 seconds and Max timeout allowed to 3, a caller would have a total of 30 seconds timeout time after he or she dials in and takes no action afterwards.

  2. Click Create.

    You can create a maximum of 10 digit collectors which are saved as variables.

To configure a RESTful collector

  1. After configuring the digit collector, click Add RESTful Collector to configure the database collector for resource querying.

    GUI field

     

    Description

    Name

    Enter a name for the RESTful collector.

    Service

    Select the RESTful service for the collector. You can also create a new service or edit the selected one. For more information, see Configuring RESTful service.

    Method

    Choose the method to submit the information collected by the FortiVoice IVR system to the database server (as HTTP POST or HTTP GET) and use the value as a variable in your SQL statement.

    Parameters

    Select Edit to enter query parameters to customize the results returned from a GET or POST operation on the database, such as sorting or filtering.

    Optionally, click Add Variable to insert self or system defined variables into the parameters.

    URL

    Once you select Service, its URL displays here.

    HTTP Headers

    Select Edit to enter a HTTP header for information querying on the RESTful web service.

    Optionally, click Add Variable to insert self or system defined variables into the HTTP header.

    This option is only available if you select Get for Method.

    Posting HTTP Headers

    Select Edit to enter a HTTP header for information querying on the RESTful web service.

    Optionally, click Add Variable to insert self or system defined variables into the HTTP header.

    This option is only available if you select Post for Method.

    Posting Message Body

    Select Edit to enter a HTTP message body for information querying on the RESTful web service.

    Optionally, click Add Variable to insert self or system defined variables into the HTTP body.

    This option is only available if you select Post for Method.

    Timeout

    Enter the time allowed for the query to be processed. If the time elapses before the query response is complete, partial information may be returned. The range is 0-600 seconds.

    Max retry allowed

    Enter the number of database query tries allowed. The query will be denied if the retry limit is reached. The range is 0-10.

    Description

    Enter any notes you have for the RESTful collector.

    New (under Fields)

    Click to name each of the attributes returned from a database query to present it or use it as a variable.

     

    Field

    Enter a name for the attribute you want to define.

     

    Query

    Enter the query parameter for the attribute you want to define. Optionally, click Add Variable to insert self or system defined variables into the parameter.

     

    Action on returned data

    • None: Select if you do not want to share the information that the RESTful collector gathers with other interfaces.
    • Add to agent console - Display name: Select if you want agents in the queues where the IVR calls are routed to see the information that the RESTful collector gathers. Enter a name for the information to display on the agent console.
    • Add to SIP header - Field name: Select if you want to share the information that the RESTful collector gathers with other SIP header collectors. Enter a value that matches the value on the SIP header to enable information sharing.
    • Add to remote CDR - Field name: Select if you want to share the information that the RESTful collector gathers with a remote CDR database. Enter a value that matches the value on the remote CDR to enable information sharing.
    • Add to report - Field name: Select if you want to share the information that the RESTful collector gathers with survey reports. Enter a value that matches the value on the surveys to enable information sharing. For information on surveys, see Configuring surveys.
  2. Click Create and then Create.

    You can create a maximum of 10 RESTful collectors which are saved as variables.

To configure IVR handling

  1. After configuring the RESTful collectors, click Add IVR handling to configure call processing using the digit and RESTful collector configurations.

    SIP header, digit and RESTful collector configurations only take effect after IVR handling is set up.

    GUI field

     

    Description

    Condition

    Configure the conditions based on which call processing actions are taken.

     

    Unconditional

    Select if you do not need to configure the conditions. In this case, the system default condition applies.

     

    Variable

    Click Add to insert self or system defined digit or RESTful variable for the condition.

    This option appears if you deselect Unconditional.

     

    Operator

    Use query operators to assign a value to the variable, or perform mathematical operations.

    This option appears if you deselect Unconditional.

     

    Value

    Enter the value assigned by the operator to the variable. Optionally, click Add Variable to insert self or system defined variables into the value.

    This option appears if you deselect Unconditional.

     

    Description

    Enter any notes you have for the IVR handling.

    Action

    Click New to configure the actions to take based on the conditions.

     

    Action type

    Select the IVR action. Depending on the action type selected, further configuration may be needed. For example, if you select Dial extension, enter the extension to which a call is transferred.

    Click Create.

    You can create multiple actions.

    Some action types have an option for you to add a variable for further configuration, such as Dial Extension or Call Queue. Instead of manually adding a value, you may choose a predefined variable which contains the further configuration information of the action type you choose.

  2. Click Create.

To configure error handling

  1. After configuring IVR handling, click Add Error Handling to deal with unknown errors and RESTful service errors.
  2. For Error type, select Unspecified for unknown errors and RESTful for RESTful service errors.
  3. Click New to select the action. Depending on the action type selected, further configuration may be needed. For example, if you select Dial extension, enter the extension to which a call is transferred.

    Some action types have an option for you to add a variable for further configuration, such as Dial Extension or Call Queue. Instead of manually adding a value, you may choose a predefined variable which contains the further configuration information of the action type you choose.

  4. Click Create, Create.
  5. Click OK to complete the IVR configuration.

Configuring RESTful service

FortiVoice IVR interfaces with RESTful web service for querying caller information from the database. When RESTful service is set up and a caller dials in, the FortiVoice unit sends caller information inquiry to the RESTful web service which sends back the information to the agent who processes the call.

Call Center > IVR > RESTful service allows you to configure the RESTful web service.

To configure RESTful service

  1. Go to Call Center > IVR > RESTful service, click New and do the following:

    GUI field

    Description

    Name

    Enter a name for the configuration.

    Protocol

    Select the protocol for the service.

    Authentication

    Password: Select to enter the user name and password for logging onto the RESTful server.

    OAuth: Select to use Open Authorization to access the RESTful server without exposing your account credential.

    • Service format: Select Salesforce or other RESTful services configuration format.
    • Username: Enter the login user name registered on the RESTful server.
    • Password: Enter the login password registered on the RESTful server.
    • Login server: Enter the IP address of the RESTful server.
    • Client ID: Enter the consumer key from the RESTful server.
    • Client secret: Enter the consumer secret from the RESTful server. If you choose Salesforce as Service Format, enter the consumer key and the token from the server in the format of <consumer key><token>. For information on FortiVoice and Salesforce integration, see Salesforce Integration with FortiVoice Enterprise Technical Note.
    • Base URL suffix: Enter the Salesforce object name, for example, /query/, and click Get Salesforce API URI to populate the Base URL field. Note the leading and trailing "/" must be entered before and after the object name.
      This option is only available if you choose Salesforce for Service format.

    Base URL

    If you choose None for Service format, enter the URL of the server hosting RESTful service.

    Click Test to validate the URL.

    SSL verification

    Select if required.

    Description

    Click Edit to enter any notes for the configuration.

  2. Click Create.