IVR Installation And Configuration

Note: Unanet must be installed prior to installing UnaIVR.

Unpack The UnaIVR Distribution

Run The Database Scripts

UnaIVR requires certain database tables, views, and triggers, in addition to the normal database objects that are created for the base Unanet system. The scripts that do this for the Oracle database are located in the ivr/database/oracle directory.

Run the ivr.sql script. This script will call all of the other scripts in the correct order. There should be no errors.

Configure The IVR Script

There are two items to configure in the IVR script:

The greeting is the first thing the user hears when they dial the system. It may be something like this:

Welcome to the Acme/Unanet telephone timesheet.

If you are using the audit trail, then you can specify up to six different reasons in the IVR system that users may select for changing or deleting an existing time entry.

Configure The ivr.properties File

You must configure the following variables in the ivr.properties file. Some are optional.

Configuration Variables In ivr.properties
Variable Description Req'd Default
ivr.client.key This value is defined by Unanet and used to identify specific clients in the Unanet/IVR database. This value must not be modified once it is defined by Unanet. Yes -
ivr.client.name Your company name as it should appear on faxes. This value must not be modified once it is defined by Unanet. Yes -
ivr.dbwatch.sleep The IVR servlet will periodically poll the database for changes since the last time it sent a transaction to the IVR system. This variable sets the number of milliseconds that the servlet will wait between polls. No 300000 5 minutes
ivr.email.admin On occassion, the e-mail address that the IVR servlet uses to receive messages from the IVR system may receive e-mail that does not contain a valid IVR attachment. Such messages will be forwarded to the address specified in this variable. If no value is supplied for this variable, then such messages are deleted without being forwarded. No -
ivr.email.bcc E-mails sent to the IVR system are blind copied to this comma delimited set of e-mail addresses. No -
ivr.email.cc E-mails sent to the IVR system are copied to this comma delimited set of e-mail addresses. No -
ivr.email.from The e-mail address that appears in the From: field of e-mail sent to the IVR system. Yes -
ivr.log The fully-qualified path name to a file that is writable by the IVR servlet. IVR appends log messages to this file. Yes -
ivr.mailwatch.sleep The IVR servlet will periodically poll the mailbox for new mail. This variable sets the number of milliseconds that the servlet will wait between checks. No 60000 1 minute
ivr.receive The fully-qualified URL for the e-mail box where the IVR servlet receives e-mail from the IVR system. This URL must follow this form: imap://username:password@host.yourdomain.com. You must let us know what this value is. Any changes must be coordinated with us. (Note: This must be an IMAP server. A POP server is not sufficient.) Yes -
ivr.request.delay Specifies the number of milliseconds that must pass between the time that the IVR servlet has requested a transaction and the time that it is permitted to request it again. No 480000 8 minutes
ivr.resend.delay Specifies the number of milliseconds that must pass between the time that a transaction is sent to the IVR system before a request for that transaction from the IVR system will be honored. This prevents cascading e-mails in certain circumstances. No 480000 8 minutes
ivr.tempdir The temporary directory where the IVR servlet can write temporary files. Yes -
mail.smtp.host The SMTP host used for sending mail to the IVR system. Yes -
mail.smtp.port The port on the SMTP host to use for sending mail to the IVR system. No 25
mail.smtp.user The username to use when communicating with the SMTP server to send e-mail to the IVR system. This should probably be the same as the ivr.email.from address. See Sun's JavaMail documentation for further clarification on this value. Yes -

Configure The Servlet Container

This assumes that the servlet container (e.g., JRun, Tomcat, etc.) is already installed.

First, make sure the unaivr.jar file is in the servlet container's classpath. This is analogous to putting unanet.jar in the classpath for the Unanet application. Directions can be found in the Unanet Installation and Setup / Servlet Engine Setup section of the Unanet User Guide.

Second, add these lines to your web.xml file:

   <servlet>
      <servlet-name>ivr</servlet-name>
      <servlet-class>com.unanet.ivr.IVRServlet</servlet-class>
      <init-param>
         <param-name>properties</param-name>
         <param-value>/opt/unanet/properties/ivr.properties</param-value>
      </init-param>
   </servlet>

Of course, you should use the correct, full path to your ivr.properties file. Again, details can be found in the Unanet User Guide.