IVR Pointers

WHAT YOU MAY NEED TO KNOW

Keeping you pointed in the right direction

Keeping your development smooth sailing.

GENERAL

GDialogic HMP SU354 Defect

It has been identified that in the Dialogic HMP driver SU354 there is a defect, which can impact interactive voice response (IVR) performance. The behavior is that the IVR will operate normally, typically for a duration of 30 days, until suddenly the IVR will be unable to connect inbound calls or place outbound calls. The cause of this behavior is that the HMP driver resources that VBVoice uses to connect calls becomes unavailable – the release of resources after channel clearing begins to fail and ultimately calls will no longer connect.

The solution is to upgrade the Dialogic HMP driver version to SU360, which has the fix in place for the defect.

NOTE:  Minimum VBVoice version supported with SU360 is VBVoice 8.20.1.

GDoes Dialogic support physical address extension (PAE) and data execution prevention (DEP)?

Dialogic simply doesn’t support physical address extension (PAE) and data execution prevention (DEP) so this must be disabled as a part of every Dialogic integration.

For more information on how to disable the PAE and DEP please see the website page Initial Server Integration Requirements.

GHMP message stating that system must be restarted to complete install or uninstall even after the system has been rebooted

When attempting to remove a previous version of Dialogic HMP it has been found that the IVR will display a message that the server must be restarted (as though it was not done after the initial installation) when in fact the server has actually been restarted. This is a known issue and can be resolved by making a modification to the server’s registry file.

NOTE: Make a backup of the existing registry prior to making any changes.

To resolve this issue:

  1. Launch RegEdit via RUN Window or CMD Window
  2. Go to the following registry key: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Note\Microsoft\Windows\CurrentVersion\RunOnce\DlgcNotRebooted
  3. Delete this key

NOTE: Removing this registry key “DlgcNotRebooted” from your registry will successfully allow the Dialogic services to start after installations and uninstallations reboots. This should NOT be used to simply bypass the check for reboot.

GKnown issue when attempting to run “Start Test” of a VBVoice application in debug from the Microsoft® Visual Studio® environment

There is a known issue where if you launch Start Test, the option fails with an error indicating No Connection on Node (-5). Launching Start Test from the VBVFrame’s More dropdown list, or by right-clicking on the VBVFrame and then selecting Start Test will result in this error.

Instead, click the green Launch button in Visual Studio to launch the application in debug mode. A new window showing your VBVoice Controls and call flow will open. Use this new window to select Start System from the grey More button found in the upper right corner of the VBVFrame, or right click anywhere on the VBVFrame and select Start System from the list of options.

GNuance Speech Server service won't start.

With Nuance Recognizer integration, it is possible that the Nuance Speech Server component will not start from the list of Windows Services, which is used to connect to a speech recognition or text-to-speech enabled VBVoice application. To better understand what the root cause is, open a command prompt, change directory to ..\Nuance\Speech Server\Server\bin and run NSSserver.exe The resulting message will provide specific information on why NSS won’t run. Most common causes of NSS to not run:
  1. ..\Nuance\Recognizer\config\Baseline.xml must be configured so the number of ports to initiate match the number of ports permitted by the Nuance licensing. Look for entries:
    <!-- How many osr_swirec licenses will be checked out during SWIrecInit() -->
    <param name="swirec_license_ports">
    <value>96</value>
    </param>
    <!-- How many osr_swiep licenses will be checked out during SWIepInit() -->
    <param name="swiep_license_ports">
    <value>96</value>
    </param>
    Modify the default 96 ports to match your purchased number of Nuance Recognizer 9 licenses. ‍
  2. File name stlport_nu_vc646.dll which is found in ..\Nuance\Speech Server\Server\bin is actually missing.  Contact support@pronexus.com for a copy of this file.
INSTALLATION

IDuring the installation of VBVoice on a Windows 7 system I get an unsigned driver error. What is this, what is its impact?

The VBVoice installation includes a hardware against software piracy (HASP) dongle driver for use when implementing a USB dongle solution for VBVoice license activation.  Microsoft sees it as an unsigned driver, gives the message, but does allow the VBVoice installation to complete after clearing the message.

IERROR: VB Mode running period has expired and system has been stopped

This is common error, which occurs when running the .exe.

This error occurs if the integrated development environment (IDE) is open and you run the compiled application and it has detected that Visual Studio® is open and has grabbed the development licenses rather than VBVoice runtimes.

So, the two-hour limitation that you would see when running from debug applies in this situation. To develop and run the .exe at the same time, close Visual Studio, run the .exe (right click Run-As Administrator) and then you can open Visual Studio after the .exe is running.

IWhy do I get the error message "Failed to initialize lines either because of missing license or general error. See VBVlog for more info"? And VBVLog shows the message "missing a required license."

The VBVoice application requires access to VBVoice Runtime licenses in order to run a compiled application, which will connect with Dialgoic media. Verify the system has valid VBVoice runtime licenses activated in the Runtime Manager. Also ensure the application is successfully contacting an available run time meter (RTM).  With the VBVFrame showing when you launch your .exe, click the More button and select the “Licenses” option to identify the target RTM and what licenses are available.
MISCELLANEOUS

MCreating Dynamic Menus with VBVoice.

VBVoice’s GetDigits control provides a powerful tool with built-in functionality to present a menu (a list of options) to the caller and to collect a response accordingly. Adding the ability to write code in GetDigits events to customize prompts and handle errors covers most of VBVoice developers’ needs.

The following call flow example discusses a subsystem to solve such scenarios.  This example assumes the number of options is provided to the caller at the beginning of the call, gdSize is to collect it.

Later ctMenu Count control is used to loop though the options and the maximum number of loops is set in its EnterEvent as follows:

private void ctMenu_EnterEvent(object sender, AxVBVoiceLib._DCountEvents_EnterEvent e)
{
ctMenu.MaxCount[e.channel] = short.Parse(gdSize.Digits[e.channel]);
}

  • pgInit control is used to play an initial prompt like “Please choose one of the following options”, and so it is played only at the start of the loop.
  • pgOptions is entered each round of the loop and plays the current option of the list depending on the index provided by ctMenu.Counter[e.channel] (the prompt can be customized in code or can use property substitution). Two exist logic are defined for this control; DTMF which means the caller picked an option and so we proceed, and Played which means decision has not been yet made and we need to loop to the next option.
  • When a decision is made or the prompts for all options are played we proceed to getMenu GetDigits control to try to match the collected digit(s) to the patterns set in that control or provide an extra period of time for the caller to make up his mind. Silence and invalid entries are handled in pgInvalid control and digits collected from the caller are not being cleared during this loop (unless there is an error and we want to start over). The following snapshot shows the settings to allow that.
  • Finally, VoiceError event of pgOptions control is used to detect any error related to the current option prompt being played and a TakeCall is made to adjust this exception.

MError when starting VBVoice.

An issue we see from time to time is the error message “Application Module Failed To Start” when attempting to run the VBVoice IVR application. Here are some steps to resolve this:

  1. Run VBVoice Voice Interface Installer and do the reboot – select the HMP card type option
  2. Check the Windows System Path to ensure all Dialogic entries are first in the list
  3. Look in …Windows\system32 for the file libeay32.dll – rename it to something else
  4. Look in …\Windows\system32 for the file log4cplus.dll – rename it to something else

MIVR initialization considerations of timing.

When automating your IVR components (e.g., Dialogic, text to speech, speech  recognition, and your VBVoice IVR application) as a Windows Service for example, ensure that you address the timings and dependencies that the system will need to initialize properly.

VBVoice will initiate the Dialogic, text to speech and automated speech recognition components by default. However, we have seen rare cases where a system will reboot and no longer respond to inbound calls, or will not be able to initialize outbound calls.  Manual restart of the IVR components typically resolves this, as by doing so the initialization is done one component at a time.

Set Windows dependencies or otherwise create a timer for your VBVoice application so that it is the last to start, thus giving all other required components sufficient time to fully start.

MODBC Error Message: “Data source name not found and no default driver specified”.

VBVoice, although supported in 64-bit development and production Operating Systems, the application must be compiled as 32-bit and run in 32-bit compatibility mode. This includes ODBC connections, which must also be configured as 32 bit.

This driver is not provided to the user through Windows Control Panel or Administrator Tools, rather you will find it locally in: c:\Windows\SysWOW64\odbcad32.exe

LET US KNOW

Got your own question?