diaSpringWrapper, diaGlobWrapper, LyncPlatformLibrary, AcdLib, support page

 Product Support

 
Here you will find answers to common questions.
If you can't find the solution, please click here to contact us.
  • Click here for diaSpringWrapper Support
  • Click here for diaGlobWrapper Support
  • Click here for Active Directory Library Support
  • Click here for Lync Platform Library Support
   
 
diaSpringWrapper Q&A
I am getting the following error when running one of your sample projects:
Could not load file or assembly 'DiaSpringWrapper, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.

This is due to missing VC++ 2013 32bit runtime assemblies. Please download and install "Visual C++ 2013 32bit Redistributable Package".
Also make sure that your C# or VB.NET active solution platform is set to x86 and NOT "active CPU"
diaSpringWrapper does not detect hangup.

diaSpringWrapper uses the Dialogic firmware settings as configured in DCM (Dialogic Configuration Manager). If Disconnect detection is not switched on within DCM this is most probably the cause of the problem.
Click here to view the video which will show you how to turn on disconnect detection.
Recodings can not be played back or invalid format message.

This is caused by selecting and incorrect file format or sampling rate.
Before invoking the function Record, you should check your device capabilities using ChannelCapabilities.RecordingCapabilities method.
This will return the list of file formats and sampling rates your device can support. Please consult the help file for formats and sampling rates enumerations.
I am unable to transfer a call to another extension or to a CO line.

First make sure that you are operating the channels behind a PBX. This is most likely due to an invalid flash-hook duration when the Transfer function was invoked.
If the call gets disconnected too early try to reduce the FlashHookDuration value gradually up to around 100 ms or less.
If the call stays connected and no transfer occurs, try increasing the FlashHookDuration value gradually up to 500 ms or more.
Most Telephone switches require a flash-hook duration of 150ms or less.
Playback of two or more prompts asynchronously does not work.

If you invoke the function Play or PlaySpeech sequentially one after the other with SyncMode set to 'true' on the same channel, diaSpringWrapper will assume that the first and second functions can be executed asynchronously. This will cause the first playback to stop.
Asynchronous playback should be used on two distinct channels.
How do I stop recording after a digit is pressed?

When invoking the function Record, set the input argument InterruptOnDigit to 'true'.
What are the differences between Play, PlayDTMF & PlaySpeech?

Play allows you to playback a pre-recorded WAV or VOX prompt. PlayDTMF is used for emulating the pressing of specific digits (for example when you need to automate the pressing of a terminating digit). PlaySpeech is used for playing a sentence or series of words using TTS when a pre-recorded prompt is not available or not needed.
How do I select a different TTS voice when using PlaySpeech?

The TTS voice used for PlaySpeech can not be selected. diaSpringWrapper uses the default TTS voice selected within the control panel Speech applet.
Can I record a TTS speech to VOX format when using SaveSpeechToFile function?

Not at present as the API only offers recording to WAV format.
The Caller ID is not returned on an incoming call.

When Caller ID is not received, this can be one of several reasons:
  • You are answering the call too early. Dialogic cards require the incoming call to be in a ringing state before Caller ID is detected.
  • It is also possible that your TelCo does not present the Caller ID
  • Check that your card supports Caller ID (see next question regarding how to check if device supports Caller ID).
How do I check if my board supports Caller ID?

To find out whether the device supports Caller ID, use GetInfo([ChannelName]).ChannelFeatures.CallerID. If 'true' is returned, this indicates that Caller ID is supported, otherwise 'false' is returned.
Function RouteCalls does not bridge the two calls together.

When bridging two channels together, it is advisable to wait until both channels are in a connected state. Check the demo application for how and when to use RouteCalls.
Also make sure that your device supports SCBUS routing.
After using RouteCalls, subsequent calls can not answered or no more events are received unless the Dialogic services are re-started.

When bridging two channels, analogue and voice resources within a device establish an inter-connecting link. This link should be restored to its initial state once the calls are disconnected and this should be done using function UnRouteCalls. See demo application for an example of using RouteCalls and UnRouteCalls functions.
diaApringWrapper can not detect dialtone, busy or answer states.

This is most probably due to misconfigured settings in DCM or the Dialogic firmware has no knowledge of the tones generated by your PBX.
To configure your Dialogic card for your PBX specific tones, you must execute the PBXpert utility to generate a tone file (.tsf) then turn on TSF support in DCM.
Click here for a video demo of PBXert and here to see how to enable TSF support in DCM.
How do I apply the license after purchase?

Applying the license is a two step process. Once payment is made you will receive an email containing the order number. First you need to run the license installer utility using the order number, this will retrieve your license number from our servers. The next step is to invoke the ApplyLicenseKey() function from your code using the license number obtained from the previous step. This will unlock the product. See the sample project or the help file for an example.
I have a licensing issue or query. How do I get support?

Please click here for any licensing query.
I am a software developer and need to distribute your component with my application. How do I license diaSpringWrapper for my end-users?

The licensing model for diaSpringWrapper is based on a run-time license only and on a per-machine basis.
If you need to distribute our component with your application, a separate license for each server needs to be obtained.
We have a number of web services which will allow you to distribute and license diaSpringWrapper with your application seamlessly without requiring manual intervention.
Please contact us for more information by emailing licensing@inkostar.com
I have already purchased a license, but after changing my machine, hard disk or motherboard diaSpringWrapper pops-up the trial nag screen eventough I applied the previous license.

The licensing algoritm uses the machine's hardware information to generate a unique number, similar to the activation process within Windows.
If you have changed some hardware on your licensed machine or need to run diaSpringWrapper on a different machine, you will need to swap the old license for a new one.
Please contact us by emailing licensing@inkostar.com.
Please include the license token (by executing the License Installer utility from Start/Program Files/diaSpringWrapper programs menu) as well as the Order ID you have received by email after your payment was made.
We will then issue you with a new license number.
   
 
diaGlobWrapper Q&A
I am getting the following error when running one of your sample projects:
Could not load file or assembly 'DiaGlobWrapper, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.

This is due to missing VC++ 2013 32bit runtime assemblies. Please download and install "Visual C++ 2013 32bit Redistributable Package".
Also make sure that your C# or VB.NET active solution platform is set to x86 and NOT "active CPU"
I am getting a disconnect tone when dialing an outbound call.

For protocols that support a CDP file, make sure that the parameter "All BOOLEAN_t CDP_Detect_DialTone = 0".
Click here to view the video which will show you how to turn on disconnect detection.
For protocols that support it, what settings in my CDP file shoud I be setting to enable outbound call progress analysis?

For both Springware & DM3 boards:
INTEGER_t CDP_OUT_ConnectType = 1
BOOLEAN_t CDP_OUT_Send_Alerting_After_Dialing = 1
How do I perform a supervised or attended transfer?

Supervised transfers is not a feature currently supported. However you can achieve the same result using SCBus routing. See sample project for API details.
I am getting an exception when invoking HangUp function.

Hangup can not be used in certain call states such as Idle or WaitingAnswer. To safely issue a hangup, use the CanHangup function.
When collecting digits during a prompt playback, how do I include the digit that interrupts the playback?

When invoking the GetDigits function, set the last parameter ClearDigitsBuffer to false.
How can I retrieve the call progress analysis result after dialing an outbound call?

You can use property enum EventInfo.CallProgressResult to retrieve CPA results.
After using function ScBusConnect, subsequent calls can not answered or no more events are received unless the Dialogic services are re-started.

After bridging the two channel together and the call is diconnected, make sure that you issue the ScBusConnect function again this time re-connection the two voice and network resources together back to their initial state. See demo application Sample_SCBus_Connect_Two_Channels for an example of using SCBus routing.
The Caller ID or ANI is not returned on an incoming call.

If applicable, check that your PBX is configured and presents the ANI, also check if your trunk carrier supports caller-id.
How do I apply the license after purchase?

Applying the license is a two step process. Once payment is made you will receive an email containing the order number. First you need to run the license installer utility using the order number, this will retrieve your license number from our servers. The next step is to invoke the ApplyLicenseKey() function from your code using the license number obtained from the previous step. This will unlock the product. See the sample project or the help file for an example.
I have already purchased a license, but after changing my machine, hard disk or motherboard diaGlobWrapper reverted back to trial mode eventough I already applied the license.

The licensing algoritm uses the machine's hardware information to generate a unique number, similar to the activation process within Windows.
If you have changed some hardware on your licensed machine or need to run diaGlobWrapper on a different machine, you will need to swap the old license for a new one.
Please contact us by emailing licensing@inkostar.com.
Please include the license token (by executing the License Installer utility from Start/Program Files/diaGlobWrapper programs menu) as well as the Order ID you have received by email after your payment was made.
We will then issue you with a new license number.
What is the difference between diaSpringWrapper and diaGlobWrapper?

diaSpringWrapper supports analogue Springware boards only whereas diaGlobWrapper can be used on Springware, DM3 and HMP boards with E1/CAS, T1/CAS, ISDN, SS7, H323, SIP and Analogue signaling.
   
 
Active Directory Library Q&A
I am getting the following error when running the sample projects:
System.DirectoryServices.ActiveDirectory.ActiveDirectoryOperationException: Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED).

This is due the fact that the user you are impersonating in the demo does not have sufficient privileges in the Active Directory. Some functions performed by the library on your behalf such as enumerating objects require the right permissions.
When enumerating directory objects from the directory root, the query takes too long to complete.

Some queries can take a long time to complete if the container being queried has many objects. You need to either limit the number of objects returns using the maxResultCount parameter or using the objectType and searchMask parameters to restrict the result.
What version of Windows server running Active Directory services is Active Directory Library compatible with?

Active Directory Library has been tested successfuly against the following flavours of Windows server operating systems: 2003 SP2, 2008 SP1, 2008 R2, 2012
How do I apply the license after purchase?

Once payment is made you will receive an email containing the order number. You then need to run the License Manager utility using the order number, this will retrieve your license number from our servers and unlock the product.
   
 
Lync Platform Library Q&A
Which SIP transport type does Lync Platform Library currently support for client connectivity?

Lync Platform Library supports both TLS and TCP.
How can I specify a non standard port number when connecting to Lync.

This can be set using lyncServerPortNumber parameter on OpenConnection function.
When running the demo, clicking on Login button does not do anything.

Please check that you have UCMA 4.0 runtime or SDK installed on your development environment.
Are there any external package dependencies for running applications built using Lync Platform Library?

UCMA 4.0 runtime is needed. Installing it will deploy all the dependant assemblies in the GAC.
How do I apply the license after purchase?

Once payment is made you will receive an email containing the order number. You then need to run the License Manager utility using the order number, this will retrieve your license number from our servers and unlock the product.