IVR Pointers

What you MAY NEED to know

Keeping you pointed in the right direction

Keeping your development smooth sailing.

General
G

What server hardware is recommended?

We rely on server hardware specs and chassis requirements rather than specific make/model when considering compatibility. In particular, the CPU must be supported by Dialogic:

  • Pentium III, Pentium 4, Pentium M, Pentium Extreme Edition, Celeron M, and single- and dual-core Intel Xeon processor-based platforms
  • Advanced Micro Devices, Inc. (AMD) Opteron server processors

The chassis must be able to physically accommodate a full length PCI board in the event you intend to use Dialogic boards for the telephony connection. PCI slot orientation is of consideration. Keep in mind, in general the full length boards a 12.5 inches long, and 3.5 inches tall. Check the Dialogic board's specification sheet for specific requirements.

We do have a number of customers who have deployed high density IVR solutions on the following makes/models of servers:

  • Dell, model numbers 310, 510, 710, 715, T320
  • HP, model numbers DL360*, DL380*
  • HP Proliant G6, G7 or G8, model numbers 120**, 150**, 180**

See all the system requirments for VBVoice here.

* Scalable for virtual machine setup.

** 1U chassis server, which will fit full length Dialogic boards.

G

How long does Pronexus plan to support VBVoice™ applications on Windows Server 2003, now that the server has been designated EOL by Microsoft?

Pronexus will does not support VBVoice™systems using Windows® Server®2003 post effective July 15, 2015. We advise our customers not to plan new systems on W2003 and to take measures to upgrade before July 15, 2015. Current installations will continue to work but we cannot support an OS which is not supported by the manufacturer.

G

What is the best way to improve IVR responsiveness using master and slave applications?

When dealing with master and slave interactive voice response (IVR) applications, it is prudent to remember that VBVoice events, being executed in the same thread, are queued and executed sequentially; custom code could delay events and affect the IVR’s responsiveness. If you are routing calls from a master application that has a dependent slave application, a way to improve IVR responsiveness is to add one or more identical slaves so that the load is distributed in smaller amounts between the slaves. For example, a master application with 150 channels could have two slave applications handling 75 channels each; or, you could have three identical slaves each handling 50 channels. By organizing your IVR this way, you can decrease the load of each slave and improve IVR responsiveness.

G

Which format should my tagged image file format (TIFF) file be in to get sent by SendFax on a Dialogic card?

You have to use the Dialogic TIFF format. The specs are:

GROUP 3 FAX format, i.e.

Bits Per Sample = 1
Compression = CCITT Group 3 Fax
Res X = 204DPI
Res Y = 196DPI

The color must be 1 bit

G

Can the VBVoice IVR application send notification when it is down?

While VBVoice does not provide a native method to send notification of an application failure or that the IVR has gone down, it is possible to implement simple network management protocol (SNMP) monitoring, as well as Microsoft® notification if the application is run as a Windows® Service. The VBVoice application can also be monitored via Microsoft Performance Monitor to look for odd behavior. Custom logging can also be implemented using the VBVoice LineStatus Control  to send notifications in the event odd behavior is identified. At the telephony layer, load balancing and failover of call routing can be achieved by configuring your local switch or private branch exchange (PBX) to reroute calls to a secondary IVR system in the event the primary system is not responding to calls sent to it.

G

PCI-express board not in the Dialogic Configuration Manager

Once you have installed a Dialogic PCI express board it is possible that it will appear in the Windows Hardware Manager, but not in the Dialogic Configuration Manager (DCM).

The most common reason for this is that the PCI-express power provided to the Dialogic board is incorrect based on the PCI-express form factor requirements.  Some motherboards allow power budgeting to be configured in the basic input/output system (BIOS).

Alternatively, Dialogic provides a power budgeting jumper on PCI-express boards. Refer to the Dialogic Quick Install Card for your particular Dialogic board model for full details and procedure.

G

What VBVoice Reference should I use when developing my application?

The VBVoice .NET interface is now consolidated in one assembly, Pronexus.VBVoice.dll. This simplifies development because only one reference is needed in VBVoice projects, instead of multiple Pronexus assemblies that had to be referenced before. By default the PronexusVBVoice.dll reference is found in C:\Program Files (x86)\Pronexus\bin

In your VBVoice project you will set the properties of this Reference for Copy Local = False (so the application will not use its own directory for the .dll) and Use Specific Version = False (making future upgrades easier)

G

The VBVoice Controls did not get added to my Visual Studio Toolbox. Why, and how do I add this now?

There are two likely causes of why the VBVoice Controls don’t get automatically added to the Visual Studio Toolbox during the VBVoice installation:

VBVoice does not support Visual Studio Express. While it has been shown that VBVoice will integrate with Visual Studio Express, we have not fully tested it. The controls don’t appear because the VBVoice installer didn’t detect the express version of the IDE. Use Visual Studio Express at your own risk.

Visual Studio did not run at least once to perform the initial setup and preference configuration before VBVoice was installed. You must run Visual Studio at least once before installing VBVoice in order for the VBVoice installer to detect the IDE and add the Controls to the Toolbox automatically.

In either case, the VBVoice Controls can be manually added to the Toolbox.

  1. Right click on Toolbox
  2. Click Add Tab and assign a name to the tab (e.g., Pronexus)
  3. Right click on this new tab
  4. Click on .NET framework components and use the Browse button to locate the control library C:\Program Files\Pronexus\bin\vbvoicedotnetinterface.dll.
  5. Click OK to add controls
G

During 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.

G

Why 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.

G

ERROR: 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.

G

My VBVoice Runtime licenses won’t activate using Auto-Activate, what should I do?

VBVoice Runtime Manager License activation can also be done using the Manual Activation process. This is sometimes necessary when there is limited access to the Internet from a site. To perform Manual Activation follow these steps:

  1. Click the checkbox in the bottom left of the VBVoice Runtime Manager interface to agree to the license agreement statement
  2. Click on Manual Activate button
  3. In the window that appears copy the entire alphanumeric string in the upper panel
  4. Open a web browser and go to http://activate.pronexus.com/register/
  5. Paste the alphanumeric string into step 7 and click Submit
  6. You should see a new alphanumeric key returned at the top of your web browser. Copy/paste this into the VBVoice Runtime Manager Manual Activation window, in the lower panel
  7. Click Finish button and the licenses should activate.

NOTE: If the licenses do not activate contact sales@pronexus.com for assistance. You may require a License Move in order to allow migration or rehosting of licenses.

G

Dialogic 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.

G

HMP 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.

G

Known 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.

G

Does 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.

G

Nuance 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.

G

Best Practices for Initial Server Integration

WINDOWS UPDATES

Please note that running and installing Microsoft Windows updates may compromise the performance of a real time telephony system. Consequently, it is critical to disable Windows updates.

DIALOGIC’S ANTI-VIRUS SOFTWARE POLICY

Dialogic’s general policy regarding third-party anti-virus software is the following: Dialogic understands and acknowledges the desire for customers / end users to install anti-virus software in their environment and is providing this policy statement for guidance in this area. Loading and running any third-party anti-virus software on Dialogic® HMP-based servers, regardless of the operating system (Linux or Windows), may compromise the performance of a real time telephony system. Consequently, it is recommended that if such anti-virus software is required by the customer for security purposes, it should be configured to run during periods of minimal to no-call traffic (i.e., system inactivity) to minimize the risk of interference or disruption.

USER ACCOUNT CONTROL (UAC)

It is recommended that users of 64-bit Windows 7, Windows Vista®, and Windows Server® 2008 operating systems disable Microsoft’s User Account Control because it has been shown to cause intermittent audio gaps when streaming audio.

G

Manually Adding VBVoice Controls

When VBVoice is installed the VBVoice Controls are automatically installed in the Visual Studio Toolbox. There are two reasons why the Controls may not automatically install:

  • VBVoice does not support Visual Studio Express: The installation of VBVoice does not properly detect this integrated development environment (IDE), so the VBVoice controls will not be properly installed
  • A licensed version of Microsoft Visual Studio is installed, but has not been run for the first time to set up preferences before installing VBVoice. The Visual Studio install is not considered completed and VBVoice does not detect it to install the Controls to the Toolbox automatically.

If the VBVoice controls are missing from the toolbox in Visual Studio .NET, follow the instructions below to manually add them:

  1. Right click on Toolbox
  2. Click Add Tab and assign a name to the tab (e.g. VBVoice)
  3. Right click in this new tab
  4. Click on .NET Framework Components and use the Browse button to locate the Control Library C:\Program Files\Pronexus\bin\vbvoicedotnetinterface.dll.
  5. Click OK to add controls
G

Error 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
G

IVR 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.

G

Creating 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.
G

ODBC 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

Installation
I

What server hardware is recommended?

We rely on server hardware specs and chassis requirements rather than specific make/model when considering compatibility. In particular, the CPU must be supported by Dialogic:

  • Pentium III, Pentium 4, Pentium M, Pentium Extreme Edition, Celeron M, and single- and dual-core Intel Xeon processor-based platforms
  • Advanced Micro Devices, Inc. (AMD) Opteron server processors

The chassis must be able to physically accommodate a full length PCI board in the event you intend to use Dialogic boards for the telephony connection. PCI slot orientation is of consideration. Keep in mind, in general the full length boards a 12.5 inches long, and 3.5 inches tall. Check the Dialogic board's specification sheet for specific requirements.

We do have a number of customers who have deployed high density IVR solutions on the following makes/models of servers:

  • Dell, model numbers 310, 510, 710, 715, T320
  • HP, model numbers DL360*, DL380*
  • HP Proliant G6, G7 or G8, model numbers 120**, 150**, 180**

See all the system requirments for VBVoice here.

* Scalable for virtual machine setup.

** 1U chassis server, which will fit full length Dialogic boards.

I

How long does Pronexus plan to support VBVoice™ applications on Windows Server 2003, now that the server has been designated EOL by Microsoft?

Pronexus will does not support VBVoice™systems using Windows® Server®2003 post effective July 15, 2015. We advise our customers not to plan new systems on W2003 and to take measures to upgrade before July 15, 2015. Current installations will continue to work but we cannot support an OS which is not supported by the manufacturer.

I

What is the best way to improve IVR responsiveness using master and slave applications?

When dealing with master and slave interactive voice response (IVR) applications, it is prudent to remember that VBVoice events, being executed in the same thread, are queued and executed sequentially; custom code could delay events and affect the IVR’s responsiveness. If you are routing calls from a master application that has a dependent slave application, a way to improve IVR responsiveness is to add one or more identical slaves so that the load is distributed in smaller amounts between the slaves. For example, a master application with 150 channels could have two slave applications handling 75 channels each; or, you could have three identical slaves each handling 50 channels. By organizing your IVR this way, you can decrease the load of each slave and improve IVR responsiveness.

I

Which format should my tagged image file format (TIFF) file be in to get sent by SendFax on a Dialogic card?

You have to use the Dialogic TIFF format. The specs are:

GROUP 3 FAX format, i.e.

Bits Per Sample = 1
Compression = CCITT Group 3 Fax
Res X = 204DPI
Res Y = 196DPI

The color must be 1 bit

I

Can the VBVoice IVR application send notification when it is down?

While VBVoice does not provide a native method to send notification of an application failure or that the IVR has gone down, it is possible to implement simple network management protocol (SNMP) monitoring, as well as Microsoft® notification if the application is run as a Windows® Service. The VBVoice application can also be monitored via Microsoft Performance Monitor to look for odd behavior. Custom logging can also be implemented using the VBVoice LineStatus Control  to send notifications in the event odd behavior is identified. At the telephony layer, load balancing and failover of call routing can be achieved by configuring your local switch or private branch exchange (PBX) to reroute calls to a secondary IVR system in the event the primary system is not responding to calls sent to it.

I

PCI-express board not in the Dialogic Configuration Manager

Once you have installed a Dialogic PCI express board it is possible that it will appear in the Windows Hardware Manager, but not in the Dialogic Configuration Manager (DCM).

The most common reason for this is that the PCI-express power provided to the Dialogic board is incorrect based on the PCI-express form factor requirements.  Some motherboards allow power budgeting to be configured in the basic input/output system (BIOS).

Alternatively, Dialogic provides a power budgeting jumper on PCI-express boards. Refer to the Dialogic Quick Install Card for your particular Dialogic board model for full details and procedure.

I

What VBVoice Reference should I use when developing my application?

The VBVoice .NET interface is now consolidated in one assembly, Pronexus.VBVoice.dll. This simplifies development because only one reference is needed in VBVoice projects, instead of multiple Pronexus assemblies that had to be referenced before. By default the PronexusVBVoice.dll reference is found in C:\Program Files (x86)\Pronexus\bin

In your VBVoice project you will set the properties of this Reference for Copy Local = False (so the application will not use its own directory for the .dll) and Use Specific Version = False (making future upgrades easier)

I

The VBVoice Controls did not get added to my Visual Studio Toolbox. Why, and how do I add this now?

There are two likely causes of why the VBVoice Controls don’t get automatically added to the Visual Studio Toolbox during the VBVoice installation:

VBVoice does not support Visual Studio Express. While it has been shown that VBVoice will integrate with Visual Studio Express, we have not fully tested it. The controls don’t appear because the VBVoice installer didn’t detect the express version of the IDE. Use Visual Studio Express at your own risk.

Visual Studio did not run at least once to perform the initial setup and preference configuration before VBVoice was installed. You must run Visual Studio at least once before installing VBVoice in order for the VBVoice installer to detect the IDE and add the Controls to the Toolbox automatically.

In either case, the VBVoice Controls can be manually added to the Toolbox.

  1. Right click on Toolbox
  2. Click Add Tab and assign a name to the tab (e.g., Pronexus)
  3. Right click on this new tab
  4. Click on .NET framework components and use the Browse button to locate the control library C:\Program Files\Pronexus\bin\vbvoicedotnetinterface.dll.
  5. Click OK to add controls
I

During 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.

I

Why 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.

I

ERROR: 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.

I

My VBVoice Runtime licenses won’t activate using Auto-Activate, what should I do?

VBVoice Runtime Manager License activation can also be done using the Manual Activation process. This is sometimes necessary when there is limited access to the Internet from a site. To perform Manual Activation follow these steps:

  1. Click the checkbox in the bottom left of the VBVoice Runtime Manager interface to agree to the license agreement statement
  2. Click on Manual Activate button
  3. In the window that appears copy the entire alphanumeric string in the upper panel
  4. Open a web browser and go to http://activate.pronexus.com/register/
  5. Paste the alphanumeric string into step 7 and click Submit
  6. You should see a new alphanumeric key returned at the top of your web browser. Copy/paste this into the VBVoice Runtime Manager Manual Activation window, in the lower panel
  7. Click Finish button and the licenses should activate.

NOTE: If the licenses do not activate contact sales@pronexus.com for assistance. You may require a License Move in order to allow migration or rehosting of licenses.

I

Dialogic 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.

I

HMP 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.

I

Known 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.

I

Does 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.

I

Nuance 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.

I

Best Practices for Initial Server Integration

WINDOWS UPDATES

Please note that running and installing Microsoft Windows updates may compromise the performance of a real time telephony system. Consequently, it is critical to disable Windows updates.

DIALOGIC’S ANTI-VIRUS SOFTWARE POLICY

Dialogic’s general policy regarding third-party anti-virus software is the following: Dialogic understands and acknowledges the desire for customers / end users to install anti-virus software in their environment and is providing this policy statement for guidance in this area. Loading and running any third-party anti-virus software on Dialogic® HMP-based servers, regardless of the operating system (Linux or Windows), may compromise the performance of a real time telephony system. Consequently, it is recommended that if such anti-virus software is required by the customer for security purposes, it should be configured to run during periods of minimal to no-call traffic (i.e., system inactivity) to minimize the risk of interference or disruption.

USER ACCOUNT CONTROL (UAC)

It is recommended that users of 64-bit Windows 7, Windows Vista®, and Windows Server® 2008 operating systems disable Microsoft’s User Account Control because it has been shown to cause intermittent audio gaps when streaming audio.

I

Manually Adding VBVoice Controls

When VBVoice is installed the VBVoice Controls are automatically installed in the Visual Studio Toolbox. There are two reasons why the Controls may not automatically install:

  • VBVoice does not support Visual Studio Express: The installation of VBVoice does not properly detect this integrated development environment (IDE), so the VBVoice controls will not be properly installed
  • A licensed version of Microsoft Visual Studio is installed, but has not been run for the first time to set up preferences before installing VBVoice. The Visual Studio install is not considered completed and VBVoice does not detect it to install the Controls to the Toolbox automatically.

If the VBVoice controls are missing from the toolbox in Visual Studio .NET, follow the instructions below to manually add them:

  1. Right click on Toolbox
  2. Click Add Tab and assign a name to the tab (e.g. VBVoice)
  3. Right click in this new tab
  4. Click on .NET Framework Components and use the Browse button to locate the Control Library C:\Program Files\Pronexus\bin\vbvoicedotnetinterface.dll.
  5. Click OK to add controls
I

Error 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
I

IVR 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.

I

Creating 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.
I

ODBC 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

Miscellaneous
M

What server hardware is recommended?

We rely on server hardware specs and chassis requirements rather than specific make/model when considering compatibility. In particular, the CPU must be supported by Dialogic:

  • Pentium III, Pentium 4, Pentium M, Pentium Extreme Edition, Celeron M, and single- and dual-core Intel Xeon processor-based platforms
  • Advanced Micro Devices, Inc. (AMD) Opteron server processors

The chassis must be able to physically accommodate a full length PCI board in the event you intend to use Dialogic boards for the telephony connection. PCI slot orientation is of consideration. Keep in mind, in general the full length boards a 12.5 inches long, and 3.5 inches tall. Check the Dialogic board's specification sheet for specific requirements.

We do have a number of customers who have deployed high density IVR solutions on the following makes/models of servers:

  • Dell, model numbers 310, 510, 710, 715, T320
  • HP, model numbers DL360*, DL380*
  • HP Proliant G6, G7 or G8, model numbers 120**, 150**, 180**

See all the system requirments for VBVoice here.

* Scalable for virtual machine setup.

** 1U chassis server, which will fit full length Dialogic boards.

M

How long does Pronexus plan to support VBVoice™ applications on Windows Server 2003, now that the server has been designated EOL by Microsoft?

Pronexus will does not support VBVoice™systems using Windows® Server®2003 post effective July 15, 2015. We advise our customers not to plan new systems on W2003 and to take measures to upgrade before July 15, 2015. Current installations will continue to work but we cannot support an OS which is not supported by the manufacturer.

M

What is the best way to improve IVR responsiveness using master and slave applications?

When dealing with master and slave interactive voice response (IVR) applications, it is prudent to remember that VBVoice events, being executed in the same thread, are queued and executed sequentially; custom code could delay events and affect the IVR’s responsiveness. If you are routing calls from a master application that has a dependent slave application, a way to improve IVR responsiveness is to add one or more identical slaves so that the load is distributed in smaller amounts between the slaves. For example, a master application with 150 channels could have two slave applications handling 75 channels each; or, you could have three identical slaves each handling 50 channels. By organizing your IVR this way, you can decrease the load of each slave and improve IVR responsiveness.

M

Which format should my tagged image file format (TIFF) file be in to get sent by SendFax on a Dialogic card?

You have to use the Dialogic TIFF format. The specs are:

GROUP 3 FAX format, i.e.

Bits Per Sample = 1
Compression = CCITT Group 3 Fax
Res X = 204DPI
Res Y = 196DPI

The color must be 1 bit

M

Can the VBVoice IVR application send notification when it is down?

While VBVoice does not provide a native method to send notification of an application failure or that the IVR has gone down, it is possible to implement simple network management protocol (SNMP) monitoring, as well as Microsoft® notification if the application is run as a Windows® Service. The VBVoice application can also be monitored via Microsoft Performance Monitor to look for odd behavior. Custom logging can also be implemented using the VBVoice LineStatus Control  to send notifications in the event odd behavior is identified. At the telephony layer, load balancing and failover of call routing can be achieved by configuring your local switch or private branch exchange (PBX) to reroute calls to a secondary IVR system in the event the primary system is not responding to calls sent to it.

M

PCI-express board not in the Dialogic Configuration Manager

Once you have installed a Dialogic PCI express board it is possible that it will appear in the Windows Hardware Manager, but not in the Dialogic Configuration Manager (DCM).

The most common reason for this is that the PCI-express power provided to the Dialogic board is incorrect based on the PCI-express form factor requirements.  Some motherboards allow power budgeting to be configured in the basic input/output system (BIOS).

Alternatively, Dialogic provides a power budgeting jumper on PCI-express boards. Refer to the Dialogic Quick Install Card for your particular Dialogic board model for full details and procedure.

M

What VBVoice Reference should I use when developing my application?

The VBVoice .NET interface is now consolidated in one assembly, Pronexus.VBVoice.dll. This simplifies development because only one reference is needed in VBVoice projects, instead of multiple Pronexus assemblies that had to be referenced before. By default the PronexusVBVoice.dll reference is found in C:\Program Files (x86)\Pronexus\bin

In your VBVoice project you will set the properties of this Reference for Copy Local = False (so the application will not use its own directory for the .dll) and Use Specific Version = False (making future upgrades easier)

M

The VBVoice Controls did not get added to my Visual Studio Toolbox. Why, and how do I add this now?

There are two likely causes of why the VBVoice Controls don’t get automatically added to the Visual Studio Toolbox during the VBVoice installation:

VBVoice does not support Visual Studio Express. While it has been shown that VBVoice will integrate with Visual Studio Express, we have not fully tested it. The controls don’t appear because the VBVoice installer didn’t detect the express version of the IDE. Use Visual Studio Express at your own risk.

Visual Studio did not run at least once to perform the initial setup and preference configuration before VBVoice was installed. You must run Visual Studio at least once before installing VBVoice in order for the VBVoice installer to detect the IDE and add the Controls to the Toolbox automatically.

In either case, the VBVoice Controls can be manually added to the Toolbox.

  1. Right click on Toolbox
  2. Click Add Tab and assign a name to the tab (e.g., Pronexus)
  3. Right click on this new tab
  4. Click on .NET framework components and use the Browse button to locate the control library C:\Program Files\Pronexus\bin\vbvoicedotnetinterface.dll.
  5. Click OK to add controls
M

During 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.

M

Why 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.

M

ERROR: 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.

M

My VBVoice Runtime licenses won’t activate using Auto-Activate, what should I do?

VBVoice Runtime Manager License activation can also be done using the Manual Activation process. This is sometimes necessary when there is limited access to the Internet from a site. To perform Manual Activation follow these steps:

  1. Click the checkbox in the bottom left of the VBVoice Runtime Manager interface to agree to the license agreement statement
  2. Click on Manual Activate button
  3. In the window that appears copy the entire alphanumeric string in the upper panel
  4. Open a web browser and go to http://activate.pronexus.com/register/
  5. Paste the alphanumeric string into step 7 and click Submit
  6. You should see a new alphanumeric key returned at the top of your web browser. Copy/paste this into the VBVoice Runtime Manager Manual Activation window, in the lower panel
  7. Click Finish button and the licenses should activate.

NOTE: If the licenses do not activate contact sales@pronexus.com for assistance. You may require a License Move in order to allow migration or rehosting of licenses.

M

Dialogic 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.

M

HMP 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.

M

Known 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.

M

Does 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.

M

Nuance 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.

M

Best Practices for Initial Server Integration

WINDOWS UPDATES

Please note that running and installing Microsoft Windows updates may compromise the performance of a real time telephony system. Consequently, it is critical to disable Windows updates.

DIALOGIC’S ANTI-VIRUS SOFTWARE POLICY

Dialogic’s general policy regarding third-party anti-virus software is the following: Dialogic understands and acknowledges the desire for customers / end users to install anti-virus software in their environment and is providing this policy statement for guidance in this area. Loading and running any third-party anti-virus software on Dialogic® HMP-based servers, regardless of the operating system (Linux or Windows), may compromise the performance of a real time telephony system. Consequently, it is recommended that if such anti-virus software is required by the customer for security purposes, it should be configured to run during periods of minimal to no-call traffic (i.e., system inactivity) to minimize the risk of interference or disruption.

USER ACCOUNT CONTROL (UAC)

It is recommended that users of 64-bit Windows 7, Windows Vista®, and Windows Server® 2008 operating systems disable Microsoft’s User Account Control because it has been shown to cause intermittent audio gaps when streaming audio.

M

Manually Adding VBVoice Controls

When VBVoice is installed the VBVoice Controls are automatically installed in the Visual Studio Toolbox. There are two reasons why the Controls may not automatically install:

  • VBVoice does not support Visual Studio Express: The installation of VBVoice does not properly detect this integrated development environment (IDE), so the VBVoice controls will not be properly installed
  • A licensed version of Microsoft Visual Studio is installed, but has not been run for the first time to set up preferences before installing VBVoice. The Visual Studio install is not considered completed and VBVoice does not detect it to install the Controls to the Toolbox automatically.

If the VBVoice controls are missing from the toolbox in Visual Studio .NET, follow the instructions below to manually add them:

  1. Right click on Toolbox
  2. Click Add Tab and assign a name to the tab (e.g. VBVoice)
  3. Right click in this new tab
  4. Click on .NET Framework Components and use the Browse button to locate the Control Library C:\Program Files\Pronexus\bin\vbvoicedotnetinterface.dll.
  5. Click OK to add controls
M

Error 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
M

IVR 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.

M

Creating 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.
M

ODBC 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 tip?

contact us

Stay in Touch

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.