| CONTACT | DEVELOPER CENTER | PARTNERS | SITEMAP
GO
Useful Links
  • Search Helpweb
    
    

Dialogic Support Helpweb

Dialogic® Host Media Processing (HMP) Software

Dialogic HMP Demos & Visual Studio Express Edition


Building and Running the Dialogic HMP Demos with Microsoft Visual Studio/C++ 2005 Express Edition
Problem Description

Most Dialogic HMP 3.0 Windows demos are built using the older Mircosoft Visual Studio/Visual C++ 6.0 development environment. Moving to a more up-to-date version of Visual Studio is not difficult, but does require some effort.

Solution Summary

This tech note will outline what is needed to get each of the HMP demos going on Visual Studio 2005 Express Edition. The Express Edition is a subset of the full Visual Studio 2005. But, it has the advantage of being a free download from Microsoft, and it is more than adequate for the C/C++ development that is usually done with a Dialogic application.

Installing Visual Studio 2005 Express Edition, as well as additional Microsoft packages needed, is first covered. Then, each current HMP demo is listed, along with resolutions to any problems encountered in converting existing the Visual Studio/Visual C++ 6.0 project files.

While this tech note explains how to get the Dialogic HMP Demos built and running under Visual Studio 2005 Express, it will also serve as a guide to getting your own Dialogic application going.

Technical Discussion

Visual Studio 2005 Express Edition Installation
Download and install only the C++ component of Visual Studio 2005 Express Edition. Dialogic applications are generally written in C/C++, so this is all that is needed.

Here is the Microsoft freely distributed a C++ development environment, Visual C++ 2005 Express Edition.

In addition, you need to download and install Microsoft Platform SDK for Windows.

Further information on using the Platform SDK with the Express Edition can be found here. The SDK contains a number of C include files and libraries needed for Micorosoft C++ development.

Another good source of information and tips on installing, configuring and using the Express Edition is on CodeProject .

Demo Conversion - General Info
Several general changes to the Express Edition must be made for successful compilation and linking:

Add the path "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include" to Tools -> Options -> Projects and Solutions -> VC++ Directories -> Include Files

Add the path "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\mfc" to Tools -> Options -> Projects and Solutions -> VC++ Directories -> Include Files

Add the path "C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib" to Tools -> Options -> Projects and Solutions -> VC++ Directories -> Library Files

Many of the demos depend on the directory structure they are in to find Dialogic includes, libraries, and other files. It is easiest to create a parallel "VSEDemos" directory under C:\Program Files\Intel\HMP and work in that.

Open .dsw or .dsp file for the demo being converted. Select "Yes to all" on the "Convert to current format?" question, and answer yes to "Permanently remove source control bindings?"

When building and running one of the Dialogic demos, remember that it may be necessary to move configuration and media files into the project directory in the MS development environment. There is a pre-built executable, configuration and media files in the Release directory for most demos, with the intent that the demo will be run from there. If you do not copy or move the files the demo will fail.

All demos will produce a large number of warnings on what its compiler considers "old style" string handling functions, To get rid of the warnings, add the C++ preprocessor definition _CRT_SECURE_NO_DEPRECATE to each project. This may be done in Project -> Properties -> C/C++ ->Preprocessor -> Preprocessor Definitions. There may also be warnings for other deprecated functions. These can either be ignored or corrected if the warnings are bothersome.

In the next section, the changes needed for each individual demo will be listed.

IPMediaServer

There are 5 projects here that make up the executable. Build the entire solution.

The string handling function warnings need to be supressed.

Copy the vox and config files from the Release to the project directory.

MMDemo

The string handling function warnings need to be supressed.

Copy mmdemo.cfg and sdp.txt from the Release to the project directory.

The avfiles directory should be moved to its parent directory.

Gc_basic_call_model

Gc_basic_call_model has .sln (solution) file from an older Visual Studio. Use this as the basis for the Express Edition application. A Conversion Wizard is automatically started to do the conversion process to the Express Edition.

The string handling function warnings need to be supressed.

CNF Conferencing Demo

In two instances of the overloaded function CSrlDevice::cnf_dump, there is an incorrect reference to a field in CNF_CLOSE_INFO and CNF_CLOSE_CONF_INFO structs. Simplly comment out the lines:

      // LOG(LOG_API, GetName(), " unRFU = %d", pInfo->unRFU);

Note: this is unrelated to Express Edition use.

The string handling function warnings need to be suppressed.

DCB Conferencing Demo

There is a varaible declaration scope problem in CConfManager::parseBoardParameters, CConsoleIo::initConsole, CConfManager::parseConfInfo and setParametersFromFile. To solve it, move the declaration of the integer counters out of the "for" loop into the top level of the method itself.

The string handling function warnings need to be suppressed.


Gateway Demo
There are two libraries, pdl_win and utilcpp, that are used by the Gateway demo. They must be built first, either using "Build Solution", or individually.

The string handling function warnings need to be suppressed.

In the Gateway project itself:

The #includes for iostream.h and fstream.h cannot be found. Change the lines

      #include <fstream.h>
      #include <iostram.h>

so that C++ Standard Library header files are specified in this manner:

      #include <fstream>
      #include <iostream>

The file gateway.cfg should be moved from the Release to the project directory

Speech Processing

The string handling function warnings need to be suppressed.

The file CSP_Prompt.pcm should be moved from the Release to the project directory.

Sdpapi
If the sdpapi library (shipped as source under the "demo" directory) will be used in an application, remember that it must be built using this same version of Visual Studio. Otherwise, errors will occur when the application is linked to the sdpapi library.

There will be quite a few errors similar to this in sdpElements.cpp:

      error C2440: '=' : cannot convert from 'const char *' to 'char *'

for this sort of expression:

      char* pTemp;
      pTemp = strchr(m_Method.get(),':');

A typecast will solve the problem:

      char* pTemp;
      pTemp = (char *) strchr(m_Method.get(),':');

Also, you will need to change this line:

      for(i=0; i<numSessionParms; i++)

to

      for(int i=0; i<numSessionParms; i++)

The string handling function warnings need to be suppressed.


Sdpapi Demo and Sdpapi Unit Test

These demos require Microsoft Foundation Classes. (MFC) They are not included in either the Express Edition or in the Platform SDK. So, it is not possible to build or run these two projects using the Express Edition. The full version of Visual Studio 2005 is needed.

Xaansr and Ansrmt

In Project -> Properites -> Linker -> Input -> Ignore specific library, add:

      libc.lib

In Project -> Properites -> Linker -> Input ->Additional Dependencies, add:

      user32.lib
      gdi32.lib

The string handling function warnings need to be suppressed.

VoiceDemo

The same changes are needed as Xaansr and Ansrmt, but it is also necessary to add comdlg32.lib to
Project -> Properites -> Linker -> Input _> Additional Dependencies.

Product List
Dialogic HMP 3.0. Service Update 110 or greater.

Related Dcumentation

HMP Demo Guides. See "Demos" section at:
http://www.intel.com/design/network/manuals/telecom/hmp30win/index.htm

Glossary of Acronyms/Terms
HMP     Host Media Processing




Feedback

Please rate the usefulness of this page:  

0 - not useful at all
1 - potentially useful
2 - quite useful
3 - very useful
4 - exactly the information I needed     

Please enter a comment about this page: