Recent Changes - Search:

Documents

Download

Building

Support

Wiki Stuff

edit SideBar

FAQ

Main.FAQ History

Hide minor edits - Show changes to markup

November 26, 2015, at 04:06 AM by CRS - Test edit for new site
Changed line 549 from:
  • [[Main.BuildingOpal]Building OPAL]
to:
Changed lines 548-549 from:
  • Building PTLib
  • [[http://wiki.opalvoip.org/index.php?n=Main.BuildingOpal]Building OPAL]
to:
Changed lines 168-169 from:

The |Opal FAQ is available as part of the Wiki at http://wiki.opalvoip.org.

to:

The |Opal FAQ is available as part of the Wiki at http://wiki.opalvoip.org.

Changed lines 175-176 from:

Send any suggestions by email to the appropriate Opal mailing list. See the Wiki page for more information.

to:

Send any suggestions by email to the appropriate Opal mailing list. See the Wiki page for more information.

Changed lines 191-192 from:

The openh323.org web site is not maintained by anybody. Please don't email us it.

to:

The openh323.org web site is not maintained by anybody. Please don't email us about it.

Changed lines 220-221 from:

The latest development plans and milestones can be found here

to:

The latest development plans and milestones can be found here

Changed lines 232-233 from:

OpenMCU was originally created in May 2000 by Craig Southeren as an experiment to investigate some ideas about how an audio MCU might work. A description of the original motivations can be found at http://www.southeren.com/blog/archives/000050.html.

to:

OpenMCU was originally created in May 2000 by Craig Southeren as an experiment to investigate some ideas about how an audio MCU might work. It has grown from there.

Changed lines 438-439 from:

Please read the Wiki for more information on downloading from the Subversion repository.

to:

Please read the Wiki for more information on downloading from the Subversion repository.

Changed line 445 from:

The Subversion repository is hosted by SourceForge. See the Wiki for more detailed instructions.

to:

The Subversion repository is hosted by SourceForge. See the Wiki for more detailed instructions.

Changed lines 617-620 from:

You must make sure the patches are against a reasonably late version of the source. Do an SVN update immediately before creating the patches, as if it is too old it will not apply properly. Also do not send whole source files, they are even harder to deal with and SVN can produce diffs quite easily. Finally, please make sure they follow the coding standards!

Our time is at least as valuable as yours (more so really :-)) and if it gets too hard for us to apply your patch, it won't happen, and that does OPAL and the Open Source movement no good at all. It will make your life harder as you have to reapply your changes every time you get bug fixes from the SVN. So do the right thing!

to:

You must make sure the patches are against a reasonably late version of the source. It is best to use SVN and do an "svn update" immediately before creating the patches, as if it is too old it will not apply properly. it also helps to tell us which branch you are on. Also do not send whole source files, they are even harder to deal with and SVN can produce diffs quite easily. The command "svn diff > my.patch" is all you need to do. Finally, please make sure they follow the coding standards!

Our time is at least as valuable as yours, more so really :-), and if it gets too hard for us to apply your patch, it won't happen, and that does OPAL and the Open Source movement no good at all. It will make your life harder as you have to reapply your changes every time you get bug fixes from the SVN. So do the right thing!

Added lines 815-817:

Also, Vista and Windows 7 ACM no longer supports the G.723.1 format. http://en.wikipedia.org/wiki/Features_removed_from_Windows_Vista#Graphics.2C_DirectX_and_Video

Changed lines 615-616 from:

If you have a code patch that adds a new feature or capability, or fixes a bug, then please submit it using the SourceForge patch tracker at http://sourceforge.net/tracker/?group_id=80674&atid=560614.

to:

If you have a code patch that adds a new feature or capability, or fixes a bug, then please submit it using the SourceForge patch tracker at https://sourceforge.net/tracker/?group_id=204472&atid=989750.

Changed lines 1010-1011 from:

Make sure the two endpoints share a common codec.

to:

There are a number of possible reasons for this:

  • Correct sound card not selected.
  • Sound card muted or volume set to zero.
  • Microphone does not work.
  • A firewall is blocking media packets.
  • For Linux, IP security is blocking the media ports.
  • The two endpoints do not share a common codec.
Changed lines 134-135 from:
to:
Added lines 1133-1142:

7.16 - Why am I getting broken audio under Windows Vista?

The sound drivers in Windows Vista require more buffers than identical hardware under Windows XP or Linux. If you are getting broken audio, try increasing the number of sound buffers to 8 or 10.

Simpleopal does this by default. Other Opal-based software can do this by adding the following code to the initialisation of the PCSS endpoint:

  pcssEP->SetSoundChannelBufferDepth(10);
Changed lines 117-118 from:
to:
Added lines 981-986:

6.10 - Is there a document describing what SIP features are supported by Opal?

Yes, see SIP features

February 05, 2008, at 06:43 AM by 220.101.81.246 -
Changed lines 613-614 from:

If you have a code patch that adds a new feature or capability, or fixes a bug, then please submit it using the SourceForge patch tracker at http://sourceforge.net/tracker/?group_id=80674&atid=560614, and please make sure it follows the coding standards!

to:

If you have a code patch that adds a new feature or capability, or fixes a bug, then please submit it using the SourceForge patch tracker at http://sourceforge.net/tracker/?group_id=80674&atid=560614.

You must make sure the patches are against a reasonably late version of the source. Do an SVN update immediately before creating the patches, as if it is too old it will not apply properly. Also do not send whole source files, they are even harder to deal with and SVN can produce diffs quite easily. Finally, please make sure they follow the coding standards!

Our time is at least as valuable as yours (more so really :-)) and if it gets too hard for us to apply your patch, it won't happen, and that does OPAL and the Open Source movement no good at all. It will make your life harder as you have to reapply your changes every time you get bug fixes from the SVN. So do the right thing!

December 10, 2007, at 09:50 PM by 81.213.125.220 -
Changed lines 166-167 from:

The |Opal FAQ is available as part of the Wiki at http://www.opalvoip.org.wiki.

to:

The |Opal FAQ is available as part of the Wiki at http://wiki.opalvoip.org.

Changed lines 145-146 from:
to:
Added lines 1193-1207:

9.4 - What is the status of call aggregation in OPAL?

PTLib has the low-level support for socket aggregation. It only works on Windows. There is no reason why it could not be extended for Linux, other than time :)

OpenH323 (and presumably H323plus) can use the PTLib aggregation support for RTP and for H.323 signaling.

Opal can only use the PTLib aggregation support for RTP.

Opal cannot yet use the aggregation support for H.323. Again, time is the only constraint.

Opal does not yet support SIP over TCP, so it definitely does not support aggregation for SIP over TCP

Opal does not NEED the PTLib aggregation support for SIP over UDP, because the code already uses a single thread and socket

December 04, 2007, at 01:55 AM by 220.101.81.38 -
Added line 613:
December 04, 2007, at 01:53 AM by 220.101.81.38 -
Changed lines 612-613 from:

If you have a code patch that adds a new feature or capability, or fixes a bug, then please submit it using the SourceForge patch tracker at http://sourceforge.net/tracker/?group_id=80674&atid=560614

to:

If you have a code patch that adds a new feature or capability, or fixes a bug, then please submit it using the SourceForge patch tracker at http://sourceforge.net/tracker/?group_id=80674&atid=560614, and please make sure it follows the coding standards!

Changed line 13 from:

1.10 - Not used \\

to:
Changed line 53 from:
to:
Changed lines 55-57 from:
to:
Changed line 60 from:
to:
Changed line 65 from:
to:
Changed lines 69-73 from:
to:
Changed lines 75-76 from:
to:
Changed lines 78-79 from:
to:
Changed lines 85-87 from:
to:
Changed line 89 from:
to:
Changed lines 94-96 from:
to:
Changed line 104 from:
to:
Changed line 108 from:
to:
Changed lines 110-111 from:
to:
Changed lines 113-114 from:
to:
Changed lines 116-118 from:
to:
Changed line 122 from:
to:
Changed line 125 from:
to:
Changed lines 128-129 from:
to:
Changed lines 133-137 from:
to:
Changed lines 139-140 from:
to:
Changed lines 142-143 from:
to:
Changed lines 146-149 from:
to:
Changed lines 151-152 from:
to:
Changed lines 220-221 from:

1.10 - Not used

to:

1.10 - How do I get write access to the OPAL Subversion repository?

Through experience, the project team has tended to limit write access to developers who have demonstrated a working knowledge of the OPAL and PTLib code by providing good quality code patches over a period of at least six months.

Write access is also occasionally granted to non-developers who have a specific need, such as documentation or release management, or who are sponsored by another senior OPAL developer.

Changed lines 287-288 from:

The project continues to grow and mature thanks to the work of a dedicated group of developers. The following people have accepted the responsibility of CVS write access as well as the ability to close patch submissions, and can be considered to be the people responsible for leading OpenH323, OPAL and PWLib:

to:

The project continues to grow and mature thanks to the work of a dedicated group of developers. The following people have accepted the responsibility of CVS write access as well as the ability to close patch submissions, and can be considered to be the people responsible for leading OpenH323, OPAL and PTLib:

Changed lines 469-472 from:

The owners of the openh323.org domain name (Quicknet Technologies, Inc) maintain the www.openh323.org web site and the openh323.org mailing list. See 1.4 for how to contact Quicknet.

I'm no longer associated with Quicknet, so I cannot make any changes to the openh323.org web site or mailing lists, even though I do have write access to the CVS (as do several other non-Quicknet people). I maintain a website with the latest information on OpenH323 and OPAL, and other projects at http://www.voxgratia.org

to:

Quicknet Technologies, Inc own the openh323.org domain name. I'm not associated with Quicknet, and I have no way of contacting them, or of making changes to the openh323.org web site

Changed line 505 from:
1) If you are trying to build opal lib under linux you should have /root/pwlib and /root/opal directories.
to:
1) If you are trying to build opal lib under linux you should have /root/ptlib and /root/opal directories.
Changed lines 529-530 from:

Run "./configure" for PWLib or OPAL with the appropriate flag to disable the module you want to avoid. Use "./configure --help" for a list of these flags.

to:

Run "./configure" for PTLib or OPAL with the appropriate flag to disable the module you want to avoid. Use "./configure --help" for a list of these flags.

Changed lines 550-551 from:

4.6 - Can I compile OPAL/PWLib using VS.NET 2003, VS.net 2005 and Visual C++ 2005 Express Edition?

to:

4.6 - Can I compile OPAL/PTLib using VS.NET 2003, VS.net 2005 and Visual C++ 2005 Express Edition?

Changed lines 569-572 from:

4.9 - How do I fix the errors in vfakeio.cxx starting at line 411 like "newline in constant", "too many characters in constant", "syntax error: string"?

This is a problem in older versions of PTLib, such as version 1.5.3. Download and use a later version of PWLib downloaded from SourceForge (see 3.1).

to:

4.9 - Not used

Deleted lines 580-587:

This error is usually caused by using source code that is incompatible with the version of PWLib that is being used. If you are using a version of PWLib prior to 1.7 (i.e. Janus or earlier), then IsDescendant function is available:

 obj.IsDescendant(MyParticularClass::Class())

In PWLib 1.7 and later, the function IsDescendant was replaced with PIsDescendant in order to provide support for C++ RTTI (Run Time Type Information). This function is used as follows:

 PIsDescendant(&obj, MyParticularClass)
Changed lines 592-593 from:

4.14 - How do I compile OpenH323 on Solaris?

to:

4.14 - How do I compile OPAL on Solaris?

Changed lines 601-606 from:

If you do not need to create trace files, you can half the size of the Unix binaries by ensuring that OpenH323 is compiled with the PASN_NOPRINTON and PASN_LEANANDMEAN symbols defined, and that everything is compiled without the PTRACING symbol

Also make sure to turn off features that you do not need, such as video. This can be done changing defines in the include/openh323buildopts.h file.

It is possible to get a Windows executable that includes video and audio with PWLib and OpenH323 linked statically, and dynamic links to everything else, in an .EXE that is under 1Mbyte (provided tracing is disabled)

to:

If you do not need to create trace files, you can half the size of the Unix binaries by ensuring that OPAL is compiled with the PASN_NOPRINTON and PASN_LEANANDMEAN symbols defined, and that everything is compiled without the PTRACING symbol

Also make sure to turn off features that you do not need, such as video. This can be done changing defines in the include/opalbuildopts.h file.

It is possible to get a Windows executable that includes video and audio with PTLib and OPAL linked statically, and dynamic links to everything else, in an .EXE that is under 1Mbyte (provided tracing is disabled)

Changed lines 619-622 from:

There are several major defects in the STL header files shipped with MSVC 6. These defects are sufficient to crash programs (like PWLib) that rely on the correct behaviour of global static variables. Fortunately, the original authors of the STL libraries for MSVC have published new versions of the files necessary to correct the worst of these problems.

PWLib checks for the correct header file versions when a new compile is started, and will prevent the compile from continuing until the correct header files are installed. There is a "one-click" solution to this problem that will upgrade your files painlessly and quickly - see the following URL for more information: http://www.voxgratia.org/docs/pwlib_windows.html#msvc_headers or download the upgrade program from http://www.voxgratia.org/releases/msvc6chk.zip

to:

There are several major defects in the STL header files shipped with MSVC 6. These defects are sufficient to crash programs (like PTLib) that rely on the correct behaviour of global static variables. Fortunately, the original authors of the STL libraries for MSVC have published new versions of the files necessary to correct the worst of these problems.

PTLib checks for the correct header file versions when a new compile is started, and will prevent the compile from continuing until the correct header files are installed. There is a "one-click" solution to this problem that will upgrade your files painlessly and quickly - see the following URL for more information: http://www.voxgratia.org/docs/pwlib_windows.html#msvc_headers or download the upgrade program from http://www.voxgratia.org/releases/msvc6chk.zip

Changed lines 624-625 from:

4.18 - How do I stop my program from immediately crashing with a dialog saying "The application failed to initialise properly. Click on OK to terminate the application" when I use the DLL versions of PWLib and OpenH323, even though the statically linked versions work OK?

to:

4.18 - How do I stop my program from immediately crashing with a dialog saying "The application failed to initialise properly. Click on OK to terminate the application" when I use the DLL versions of PTLib and OPAL, even though the statically linked versions work OK?

Changed lines 629-632 from:

4.19 - How do I fix the following error on Windows when building PTLIB.DLL/OPENH323.DLL "dllmain.obj : fatal error LNK1202: "d:\pwlib.msvc\lib\ptlib.pdb" is missing debugging information for referencing module"?

This error seems to be a result of the linker getting confused about the debugging information in the pdb file. The only solution is to delete the entire pwlib/lib or openh323/lib directory and recompile everything again. You will have to exit MSVC before you can do this, as the environment keeps open files in that directory.

to:

4.19 - How do I fix the following error on Windows when building PTLIB.DLL/OPAL.DLL "dllmain.obj : fatal error LNK1202: "c:\ptlib.msvc\lib\ptlib.pdb" is missing debugging information for referencing module"?

This error seems to be a result of the linker getting confused about the debugging information in the pdb file. The only solution is to delete the entire ptlib/lib or opal/lib directory and recompile everything again. You will have to exit MSVC before you can do this, as the environment keeps open files in that directory.

Changed lines 636-639 from:

4.20 - How do I fix the following error when compiling OpenH323 "This program cannot be run in DOS mode. \ Error executing c:\windows\system32\cmd.exe. \ asnparser.exe - 1 error(s), 0 warning(s)"?

If you are using PWLib 1.6/OpenH323 1.13 or earlier, then you need to compile the ASNParser. See http://www.voxgratia.org/docs/pwlib_windows.html#asnparser

to:

4.20 - Not used

Changed lines 639-644 from:

4.21 - I am compiling Pandora or Janus patch 4 - where is the ASNParser?

The ASNParser is not included in the Pandora release, because it was decided to include the pre-processed ASN files directly into OpenH323. This greatly simplifies the build process for both PWLib and OpenH323 and removes the need for the ASNParser. The ASNParser is still available in the OpenH323 CVS, if you want to see it.

Janus patch 4 includes the ASNParser sources, but it does not need to be compiled or used as it this release has also been modified to include the pre-processed ASN files.

to:

4.21 - Not used

Changed lines 642-647 from:

4.22 - Where is pwrc, openphone and all of GUI classes?

The time and effort and required to maintain the GUI code became unmanageable, especially when there are excellent multiple-platform GUI toolkits like Qt and wxWindows already available. As a result, the GUI code is no longer included in the baseline release archives. This includes the all of the source trees pwlib/src/pwlib, pwlib/include/ptlib, and the binaries pwlib.dll/pwlibd.dll/lib_pw_xxxx_r.so/lib_pw_xxxx_d.so

As always, the original source code is still available in the CVS but may not be actively maintained. See 3.10 for more information

to:

4.22 - Not used

Changed lines 652-653 from:

4.24 - The Windows configure process for PWLib or OpenH323 is finding the wrong version of a library - how do I stop this?

to:

4.24 - The Windows configure process for PTLib or OPAL is finding the wrong version of a library - how do I stop this?

Changed lines 663-666 from:

4.25 - I used to be able to compile PWLib without any problems, but now I get warnings like this "Please remove pwlib\include\ptlib\msos from the tool include path and from the pre-processor options for this project" - how do I fix this?

Prior to the Janus release of OpenH323, it was necessary to include the "platform specific" include directory into the include paths for the environment. This requirement was removed because it was the source of many problems for users. The changes required to remove this dependency cause problems if the "platform specific" directory is retained, so the code has been altered to generate the above error if the include paths are not changed.

to:

4.25 - I used to be able to compile PTLib without any problems, but now I get warnings like this "Please remove ptlib\include\ptlib\msos from the tool include path and from the pre-processor options for this project" - how do I fix this?

Prior to the Janus release of OPAL, it was necessary to include the "platform specific" include directory into the include paths for the environment. This requirement was removed because it was the source of many problems for users. The changes required to remove this dependency cause problems if the "platform specific" directory is retained, so the code has been altered to generate the above error if the include paths are not changed.

Changed lines 676-677 from:
 In file included from /pwlib/include/ptlib/contain.h:782,
 from /pwlib/include/ptlib.h:146,
to:
 In file included from /ptlib/include/ptlib/contain.h:782,
 from /ptlib/include/ptlib.h:146,
Changed lines 679-680 from:
 /pwlib/include/ptlib/contain.inl: In constructor PAbstractList::PAbstractList()':
 /pwlib/include/ptlib/contain.inl:428: warning: right-hand operand of comma has no effect
to:
 /ptlib/include/ptlib/contain.inl: In constructor PAbstractList::PAbstractList()':
 /ptlib/include/ptlib/contain.inl:428: warning: right-hand operand of comma has no effect
Changed lines 689-690 from:

4.27 - When I compile pwlib I get warnings like "../common/getdate.y: conflicts: 8 shift/reduce, 18 reduce/reduce" - is this normal?

to:

4.27 - When I compile PTLib I get warnings like "../common/getdate.y: conflicts: 8 shift/reduce, 18 reduce/reduce" - is this normal?

Changed lines 694-695 from:

4.28 - When I compile pwlib I get a warning like "In static member function `static std::ostream& PTrace::End(std::ostream&)': warning: unused variable 'rb'" - is this normal?

to:

4.28 - When I compile PTLib I get a warning like "In static member function `static std::ostream& PTrace::End(std::ostream&)': warning: unused variable 'rb'" - is this normal?

Changed lines 705-706 from:

The long answer is that PWLib and OpenH323 attempt to preserve the ordinals used for DLL entry points across different versions of the libraries. To do this, the MergeSym program compares the function signatures in the DLLs to the entry points listed in the .dtf files, and makes sure that the final file ends up with compatible ordinals. The default .dtf files are created on a system with all optional features enabled, which means that if they are used on a system with less features, there are unresolved symbols left over.

to:

The long answer is that PTLib and OPAL attempt to preserve the ordinals used for DLL entry points across different versions of the libraries. To do this, the MergeSym program compares the function signatures in the DLLs to the entry points listed in the .dtf files, and makes sure that the final file ends up with compatible ordinals. The default .dtf files are created on a system with all optional features enabled, which means that if they are used on a system with less features, there are unresolved symbols left over.

Changed lines 708-709 from:

4.30 - How do I link OpenH323, PWLib or OPAL applications statically in Windows?

to:

4.30 - How do I link PTLib or OPAL applications statically in Windows?

Changed line 713 from:
pwlibptlibsd.lib & ptclibd.libptlibs.lib & ptclibd.libptlibd.lib & ptclib.lib \\
to:
ptlibptlibsd.lib & ptclibd.libptlibs.lib & ptclibd.libptlibd.lib & ptclib.lib \\
Changed lines 724-725 from:

4.31 - How do I link OpenH323, PWLib or OPAL applications statically on Unix?

to:

4.31 - How do I link PTLib or OPAL applications statically on Unix?

Changed lines 766-771 from:

4.34 - How do I fix gcc errors about "PAtomicInteger" when compiling OpenH323 or OPAL?

This error is usually indicates the presence of two incompatible versions of the pwlib headers, and that the openh323 build process is detecting the wrong set which is probably located in /usr/local/include or /usr/include (check the configure output to be sure)

The easiest way to solve the problem is to set the PWLIBDIR environment to point to the correct version of PWLib. Alternatively, deinstall the incorrect version so that the auto-detection find the correct version.

to:

4.34 - How do I fix gcc errors about "PAtomicInteger" when compiling OPAL?

This error is usually indicates the presence of two incompatible versions of the PTLib headers, and that the OPAL build process is detecting the wrong set which is probably located in /usr/local/include or /usr/include (check the configure output to be sure)

The easiest way to solve the problem is to set the PWLIBDIR environment to point to the correct version of PTLib. Alternatively, deinstall the incorrect version so that the auto-detection find the correct version.

Changed lines 773-774 from:

4.35 - I cannot find the Console Components library files (ptclib.lib and ptclibd.lib) in recent builds of PWLib. Where are they?

to:

4.35 - I cannot find the Console Components library files (ptclib.lib and ptclibd.lib) in recent builds of PTLib. Where are they?

Changed lines 783-784 from:

5.1 - Why is there no G.723.1/G.729 codec in OPAL or OpenH323?

to:

5.1 - Why is there no G.723.1/G.729 codec in OPAL?

Changed lines 811-816 from:

As of 22 April 2004, the CVS head revision of OpenH323 contains the AliceStreet code that implements RFC 2190 compliant H.263 as required for compatibility with NetMeeting. As such, it is only available for users prepared to download and compile code from the CVS. This code will appear in future snapshots starting with PWLib 1.7.1 and OpenH323 1.14.1. See http://www.voxgratia.org/docs/h263_codec.html for more information.

The Janus release of OpenH323 and all versions up to PWLib 1.6.6.1/OpenH323 1.13.5.1 contain a non-compliant implementation of H.263 that is not compatible with NetMeeting.

For developers who need to use H.263 with earlier versions of OpenH323, patches are available from Guilhem Tardy at http://www.salyens.com/?page=ffcodec

to:

TBD

Changed lines 814-819 from:

5.6 - How do I add my own audio or video codec to Opal or OpenH323?

If you are using a current version of OPAL or OpenH323, then you have access to plugin codecs. See http://www.voxgratia.org/docs/codec_plugins.html for more information.

If you are using a version of OpenH323 prior to v1.14 or a version of OPAL prior to August 2006, then you will need to implement your codec as a embedded codec. Look at how other codecs such as GSM or H.261 are implemented for how to do this.

to:

5.6 - How do I add my own audio or video codec to Opal?

OPAL supports plugin codecs. See http://www.voxgratia.org/docs/codec_plugins.html for more information.

Changed lines 819-820 from:

5.7 - What audio codecs are supported by OpenH323?

to:

5.7 - What audio codecs are supported by OPAL?

Changed lines 832-833 from:

5.8 - What video codecs are supported by OpenH323?

to:

5.8 - What video codecs are supported by OPAL?

Changed lines 874-875 from:

Having said this, OpenH323 tries hard to get symmetric codecs but it is not always possible, especially if using slow start and the other end has a very different codec priority list.

to:

Having said this, OPAL tries hard to get symmetric codecs but it is not always possible, especially if using slow start and the other end has a very different codec priority list.

Changed lines 887-888 from:

There are two sets of Speex capabilities because the draft Speex RFC specified a format for the H.323 non-standard capability string that was incompatible with the format used by existing OpenH323 implementations. Thus, the only way to preserve backwards compatibility with old applications while still conforming to the new standard was to include both sets.

to:

There are two sets of Speex capabilities because the draft Speex RFC specified a format for the H.323 non-standard capability string that was incompatible with the format used by existing OPAL implementations. Thus, the only way to preserve backwards compatibility with old applications while still conforming to the new standard was to include both sets.

Changed lines 894-895 from:

5.16 - Does OpenH323 support wide-band codecs?

to:

5.16 - Does OPAL support wide-band codecs?

Changed lines 923-926 from:

6.1 - Where can I get a design document for OpenH323?

What design documents that do exist can be found at http://www.voxgratia.org/docs/openh323_design.html

to:

6.1 - Where can I get a design document for OPAL?

TBD

Changed lines 933-934 from:

6.3 - Where can I find user manuals for the Openh323 programs?

to:

6.3 - Where can I find user manuals for the OPAL programs?

Changed lines 938-941 from:

6.4 - Is there a programming tutorial on OpenH323?

Vladimir Toncar has written a tutorial that can be viewed at http://toncar.cz/openh323/tut/. It is available in English, Brazlilian Portuguese and Spanish

to:

6.4 - Is there a programming tutorial on OPAL?

TBD

Changed lines 948-955 from:

6.6 - Where can I get documentation on the API for PWLib and OpenH323?

The header files for OpenH323 and PWLib contain API documentation in the Doc++ format. The recommended tool for converting the header files into documents (as of 17 May 2004) is Doxygen (see http://www.doxygen.org) which is much faster and more accurate than the original Doc++ (see http://docpp.sourceforge.net).

To create the documentation for any particular version of PWLib or OpenH323, run the command "make docs" in the "pwlib" or "openh323" directories. A directory called "html" will be created that contains the documentation in HTML format. Doxygen can also be used to create documents in RTF and LaTex format, as well as the compressed HTML format (.CHM) for Windows.

Up to date versions of the API documentation can be found online at http://www.voxgratia.org/docs/pwlib? and http://www.voxgratia.org/docs/openh323?. Compressed archives of the documentation for various releases can be found on the Vox Gratia download page at http://www.voxgratia.org/downloads.html

to:

6.6 - Where can I get documentation on the API for PTLib and OPAL?

The header files for OPAL and PTLib contain API documentation in the Doc++ format. The recommended tool for converting the header files into documents is Doxygen (see http://www.doxygen.org) which is much faster and more accurate than the original Doc++ (see http://docpp.sourceforge.net).

To create the documentation for any particular version of PTLib or OPAL, run the command "make docs" in the "ptlib" or "opal" directories. A directory called "html" will be created that contains the documentation in HTML format. Doxygen can also be used to create documents in RTF and LaTex format, as well as the compressed HTML format (.CHM) for Windows.

Links to on-line versions of the API documentation are available online

Changed lines 957-962 from:

6.7 - What documentation is available for OpenH323?

A list of all documentation available for OpenH323 can be found at http://www.voxgratia.org/documents.html

A map (i.e. a list sorted by topic) of all documentation available for OpenH323 can be found at http://www.voxgratia.org/docs/document_map.html

to:

6.7 - What documentation is available for OPAL?

A list of all documentation available for OPAL can be found in the Wiki

Changed lines 963-964 from:

6.8 - Where can I find the specification documents for H.323?

to:

6.8 - Where can I find specification documents for H.323 or SIP?

Added lines 967-969:

Copies of the specifications for SIP and most related protocols can be found at http://www.packetizer.com/voip/sip/standards.html

Changed lines 971-972 from:

6.9 - Is there a document on the configure.exe program used for configuring OpenH323 and PWLib on Windows?

to:

6.9 - Is there a document on the configure.exe program used for configuring OPAL and PTLib on Windows?

Changed lines 978-979 from:

7. USING OPENH323

to:

7. USING OPAL

Changed lines 988-989 from:

Incoming calls require incoming connections on port 1720. Make sure that your firewall is passing incoming connections on that port to your client, and that your machine supports operation behind a firewall.

to:

Incoming H.323 calls require incoming TCP connections on port 1720.

Incoming SIP calls require incoming UDP connections on port 5060.

Make sure that your firewall is passing incoming connections on those ports to your client, and that your machine supports operation behind a firewall.

Changed lines 1000-1007 from:

7.4 - How do I call NetMeeting with an OpenH323 client?

NetMeeting can inter-operate with an Open Source OpenH323 client using only a few audio and video codecs. These codecs are G.711 for audio and H.261 or H.263 for video.

The G.711 audio codec is available as an Open Source implementation and should be available on all OpenH323 endpoints that have audio enabled. It requires a 64 kbps connection and is only available in NetMeeting if it is configured for LAN bandwidth.

The H.261 video codec is available as an Open Source implementation should be available on all OpenH323 endpoints that have video enabled. The H.263 video codec, which used less bandwidth and provides better quality, may be available if the optional support has been enabled and the required external library is available.

to:

7.4 - How do I call NetMeeting with an OPAL client?

NetMeeting can inter-operate with an OPAL client using only a few audio and video codecs. These codecs are G.711 for audio and H.261 or H.263 for video.

The G.711 audio codec is available as an Open Source implementation and should be available on all OPAL endpoints that have audio enabled. It requires a 64 kbps connection and is only available in NetMeeting if it is configured for LAN bandwidth.

The H.261 video codec is available as an Open Source implementation should be available on all OPAL endpoints that have video enabled. The H.263 video codec, which used less bandwidth and provides better quality, may be available if the optional support has been enabled and the required external library is available.

Changed lines 1011-1014 from:
  • SpeexW - As of the Janus release, OpenH323 supports the SpeexW codec that can be added to NetMeeting. See http://www.republika.pl/roed/speexw/ for more information

NetMeeting contains proprietary codecs such as G.723.1 that may be available on some OpenH323 clients. For example, MyPhone (see http://myphone.sourceforge.net) contains code that allows use of the MS-ACM G.723.1 codec on a Windows client. See 5.4 for more informatio

to:
  • SpeexW - OPAL supports the SpeexW codec that can be added to NetMeeting. See http://www.republika.pl/roed/speexw/ for more information

NetMeeting contains proprietary codecs such as G.723.1 that may be available on some OPAL clients. For example, MyPhone (see http://myphone.sourceforge.net) contains code that allows use of the MS-ACM G.723.1 codec on a Windows client. See 5.4 for more informatio

Changed lines 1026-1027 from:

7.7 - I'm sure I have found a problem with OpenH323 - how do I report it?

to:

7.7 - I'm sure I have found a problem with OPAL - how do I report it?

Changed lines 1046-1055 from:

7.10 - When I start OpenGK/OpenMCU2/OpenIVR as a windows service process it won't start due to "error 1053" or similar. How do I fix this problem?

This error is caused by the service process being unable to start for some reason, usually because a required DLL cannot be found. To fix this problem, it is important to understand that all service processes are started with C:\WINDOWS\SYSTEM32 as the current directory regardless of the actual location of the executable, which means that all DLLs must be either in this directory or in some directory specified by the PATH environment variable.

The relocation of the current directory also affects the loading of PWLib plugins such as codecs, because the current directory is always included in the list of directories that are searched for plugins. By default, a program searches for plugins in the tree of subdirectories starting at the current directory when the program is started. This search involves looking at each DLL in turn, and checking to see if it is PWLib plugin.

Unfortunately, there was an error in older versions of PWLib that supported plugins which had the undesirable side effect of actually loading every DLL that was found, rather than loading only DLLs that are PWLib plugins. This bug meant that every DLL in C:\WINDOWS\SYSTEM32 (and there a lot of them) was loaded when a program was run as a Windows service. This usually resulted in a program crash with strange warnings about weird DLLs not being found, or at the very least causing the program to take an unusually long time to start up.

This problem was fixed in revision 1.16 of pwlib/include/ptlib/pluginmgr.h which is included in all Pandora releases after Pandora RC2. At this time, this patch is not included in any Janus releases.

to:

7.10 - Not used

Changed lines 1049-1052 from:

7.11 - How does OpenH323 support ENUM dialling?

OpenH323 automatically implements ENUM dialling (RFC 2916) for endpoints under the following conditions:

to:

7.11 - How does OPAL support ENUM dialling?

OPAL automatically implements ENUM dialling (RFC 2916) for endpoints under the following conditions:

Changed lines 1066-1077 from:

OpenH323 and OPAL contain support for the STUN (Simple Traversal of UDP Through NAT) protocol to simplify making calls from behind a NAT firewall. This protocol uses a remote STUN server to assist a client in detecting what kind of NAT is being used.

Prior to 26 October 2004, the STUN client code in PWLib used a timeout of 500ms when waiting for results from the STUN server. This timeout was acceptable for most networks, but could result in incorrect results when used on busy or low speed connections, or on hosts that do not enjoy good connectivity to the Vox Gratia STUN server (stun.voxgratia.org).

The STUN client code now uses a timeout of 5000ms which gives reliable results, with the possible side effect of increasing setup time for hosts with busy or low speed connections.

To see determine what timeout is used by your code, find the file pwlib/src/ptclib/pstun.cxx and look for the following code near line 449:

 socket.SetReadTimeout(xxxx);

If xxxx is set to 500, then it is old code and the number must be changed to 5000. If this change is made, then recompile PWLib as required, and re-link any programs using OpenH323.

to:

OPAL contain support for the STUN (Simple Traversal of UDP Through NAT) protocol to simplify making calls from behind a NAT firewall. This protocol uses a remote STUN server to assist a client in detecting what kind of NAT is being used.

The STUN client code uses a timeout of 5000ms which gives reliable results, with the possible side effect of increasing setup time for hosts with busy or low speed connections.

Changed lines 1073-1074 from:

OpenH323 and PWLib support the STUN protocol (see RFC 3489) for detecting and interoperating with NATs and firewalls. The STUN protocol can detect several different NAT and firewall configurations, but only some of these configurations support VoIP functions. The detected NAT types are as follows:

to:

OPAL and PTLib support the STUN protocol (see RFC 3489) for detecting and interoperating with NATs and firewalls. The STUN protocol can detect several different NAT and firewall configurations, but only some of these configurations support VoIP functions. The detected NAT types are as follows:

Changed lines 1097-1100 from:

Unfortunately, some endpoints do change the SSRC identifier mid-call and by default OpenH323 will detect the condition and ignore the new data. The warning message above will be displayed when this condition occurs.

If you need to interoperate with endpoints that change SSRC mid-call, you can disable the checking of SSRC identifiers by editing the file openh323/src/rtp.c. Look for a line of code in the function RTP_Session::RTP_Session as follows:

to:

Unfortunately, some endpoints do change the SSRC identifier mid-call and by default OPAL will detect the condition and ignore the new data. The warning message above will be displayed when this condition occurs.

If you need to interoperate with endpoints that change SSRC mid-call, you can disable the checking of SSRC identifiers by editing the file opal/src/rtp/rtp.c. Look for a line of code in the function RTP_Session::RTP_Session as follows:

Changed lines 1108-1109 from:

7.15 - How many simultaneous calls can OPAL/OpenH323 handle?

to:

7.15 - How many simultaneous calls can OPAL handle?

Changed lines 1112-1113 from:

A more precise answer is that without any modification, a standard OPAL/OpenH323 application on Linux that handles both signalling and media will hit the per-process file handle limit at about 80 simultaneous calls. By increasing the per-process file handle limit to 16384 (using "ulimit") the maximum call density is around 1300 calls. If the calls always use H.245 tunnelling, this will increase to 110 and 1800. If the calls are signalling only, the limits are 330 and 5400.

to:

A more precise answer is that without any modification, a standard OPAL application on Linux that handles both signalling and media will hit the per-process file handle limit at about 80 simultaneous calls. By increasing the per-process file handle limit to 16384 (using "ulimit") the maximum call density is around 1300 calls. If the calls always use H.245 tunnelling, this will increase to 110 and 1800. If the calls are signalling only, the limits are 330 and 5400.

Changed lines 1116-1117 from:

An OpenH323 application can increase these limits further by enabling signalling aggregation. This feature is not yet available on OPAL.

to:

An OPAL application can increase these limits further by enabling signalling aggregation. This feature is not yet available on OPAL.

Changed lines 1123-1124 from:

8. OPAL and OpenH323 applications

to:

8. OPAL applications

Changed lines 1126-1127 from:

8.1 - What other projects use OpenH323?

to:

8.1 - What other projects use OPAL?

Deleted lines 1131-1136:
  • CPhone - http://www.cphone.org
    Client program for Linux and Windows platforms based on OpenH323
  • GnuGK - http://www.gnugk.org
    A gatekeeper for Unix and Windows based on OpenH323
  • MyPhone - http://myphone.sourceforge.net
    Another client program based on OpenH323
Changed lines 1133-1140 from:

Client program for MacOSX based on OpenH323

  • OCX for OpenH323 - http://www.geocities.com/rddamian/
    An OCX control for OpenH323 that can be used in Visual Basic and MSIE. The page above seems to be out of date, but the latest sources can be found in the OpenH323 CVS in the contrib/DCOM directory.
  • YATE - http://yate.null.ro/pmwiki/
    Yate is Yet Another Telephone Engine and uses OpenH323 for H.323 functionality
  • Bayonne - http://www.gnu.org/software/bayonne/
    Bayonne is a telephony communications server that uses OpenH323 for H.323 functionality
to:

Client program for MacOSX based on OPal

Changed lines 1138-1143 from:

8.2 What commercial and closed-source software uses Opal and OpenH323?

The following commercial software is known to use OPAL or OpenH323:

  • PacPhone - http://www.pacphone.com
    A softphone based on OpenH323 that supports encryption and authentication
to:

8.2 What commercial and closed-source software uses Opal

The following commercial software is known to use OPAL:

Changed lines 1144-1148 from:
  • Internet switchboard - http://www.quicknet.net
    ISB is a softphone based on OpenH323 that supports Quicknet's range of audio compression cards
  • Marratech Manager - http://www.maratech.com
    A cross-platform video conferencing solution from Marratech AB in Sweden using OpenH323.
to:
Changed lines 1159-1169 from:

8.4 - How do I use OpenH323 with Asterisk?

There are three different modules that interface Asterisk and OpenH323:

  • asterisk-oh323 by Michael Manousos - http://www.inaccessnetworks.com/projects/asterisk-oh323
    This channel driver module is compiled with OpenH323 and PWLib, and uses the low level audio interface of OpenH323. This driver uses the RTP stack and codecs within OpenH323.
  • channel_h323 by Jeremy McNamara - included as part of the standard Asterisk source package
    This channel driver module is compiled with OpenH323 and PWLib, and uses the external RTP interface of OpenH323. This driver uses the RTP stack and codecs from Asterisk
  • chan_woomera with Woomera by Anthony Minessale - www.pbxfreeware.org/chan_woomera
    This module uses a simple Asterisk channel driver called chan_woomera that does not contain any H.323 code. This driver communicates with a separate process called Woomera that contains OpenH323.
to:

8.4 - How do I use OPAL with Asterisk?

See the WoomeraVoip project

Changed lines 1169-1171 from:

9.1 How do I create a program that uses OpenH323 for call control, but uses an external RTP device?

This is quite easy to do, and is explained in more detail at http://www.voxgratia.org/docs/external_rtp.html

to:

9.1 How do I create a program that uses OPAL for call control, but uses an external RTP device?

TBD

Changed lines 1174-1181 from:

9.2 - How do get a list of the codecs supported by OpenH323?

The static function H323PluginCodecManager::GetMediaFormats will return a list of all of the codecs that are supported by the current set of plugins and statically linked code without requiring any additional hardware. By default, this will include all of the audio codecs that can be converted to/from PCM-16. It will also include any video media formats that are supported by the stack. This will always include H.261 (if video is compiled into the stack) and H.263 (if support has been compiled and all necessary run-time loadable libraries are available).

The virtual function OpalLineInterfaceDevice::GetMediaFormats can be called on any instance of OpalLineInterfaceDevice or descendant to obtain the media formats supported by a specific hardware device.

See http://www.voxgratia.org/docs/codec_plugins.html for more information on the plugin codec system in OpenH323, including general information on codecs

to:

9.2 - How do get a list of the codecs supported by OPAL?

TBD

Changed lines 1182-1183 from:

There is a define called PMEMORY_CHECK that enabled all sorts of code in PWLib to check memory blocks allocated by the code. But this is turned off by default (even in debug mode) because the code it uses is pretty stupid. Not only does it slow down the entire stack by a significant amount, but it reports all sorts things as memory leaks when they really aren't. We got tired of people going into a panic when they saw the words "memory leak" and then having to explain why this was not a problem, so we just disabled it.

to:

There is a define called PMEMORY_CHECK that enabled all sorts of code in PTLib to check memory blocks allocated by the code. But this is turned off by default (even in debug mode) because the code it uses is pretty stupid. Not only does it slow down the entire stack by a significant amount, but it reports all sorts things as memory leaks when they really aren't. We got tired of people going into a panic when they saw the words "memory leak" and then having to explain why this was not a problem, so we just disabled it.

Changed lines 1188-1189 from:

By this definition (which I agree with), a memory leak it is not just a memory block that is never freed, but it a problem with memory allocation that leads to memory exhaustion. This is an important distinction, because there are lots of places in PWLib, OpenH323 and OPAL where memory is allocated, but never freed, and these do not (and never will) lead to memory exhaustion because they are only allocated once and the reused for the lifetime of the program. The PFactory code is a good example of this.

to:

By this definition (which I agree with), a memory leak it is not just a memory block that is never freed, but it a problem with memory allocation that leads to memory exhaustion. This is an important distinction, because there are lots of places in PTLib, OpenH323 and OPAL where memory is allocated, but never freed, and these do not (and never will) lead to memory exhaustion because they are only allocated once and the reused for the lifetime of the program. The PFactory code is a good example of this.

Changed lines 1195-1196 from:

10. OPAL

to:

10. USING OPAL

Changed lines 1198-1203 from:

10.1 - What is OPAL?

OPAL is the "next generation" of OpenH323 that has a new architecture. Not only does it support H.323 and SIP, but new VoIP protocols or devices can be added very easily. It is being actively developed and is used by several projects such as Ekiga (http://www.ekiga.org)

BTW: OPAL is an acronym for Open Phone Abstraction Library, but that is not really important :)

to:

10.1 - Not used

Changed lines 1201-1206 from:

10.2 - Where can I download OPAL?

OPAL sources in both tar.gz and ZIP formats can be downloaded from the Vox Gratia web site at http://www.voxgratia.org/downloads.html

OPAL can also be extracted from the OpenH323 CVS using "opal" module name

to:

10.2 - Not used

Changed lines 1204-1207 from:

10.3 - How do I compile OPAL?

Compiling OPAL is very similar to compiling OpenH323. Detailed instructions on compiling OPAL under Windows can be found at http://www.voxgratia.org/docs/opal_windows.html

to:

10.3 - Not used

Changed lines 1224-1227 from:

10.5 - Is OpenH323 now obsolete or deprecated now that OPAL is released?

For the foreseeable future, both OpenH323 and OPAL will continue to be maintained and updated. When we consider that OPAL has the same level of maturity and H.323 functionality as OpenH323, we will move OpenH323 into a maintenance-only mode. We're not sure when that will happen.

to:

10.5 - Not used

Changed lines 1227-1232 from:

10.6 - Where can I find documentation on OPAL?

A reference document for the OPAL API can be extracted from the OPAL header files using the command "make docs". This command requires the Doxygen program. A copy of this documentation can be found at http://www.voxgratia.org/docs/opal

There is also a nice description of the OPAL architecture in a thesis written by Hadeel H. Taha titled "Architecture for a SIP-Based Conferencing Server". This document can be found at http://swt198.swt.fh-mannheim.de/gossip/download/Thesis_Taha.pdf and there is also a copy at http://www.voxgratia.org/docs/opal/Thesis_Taha.pdf.

to:

10.6 - Not used

Deleted lines 1262-1403:

A. Change log

4 November 2007Ported from Vox Gratia FAQ to OpalVoip Wiki
24 March 2007Updated to reflect the changes to the mailing list
2 November 2006Added new information to 8.2
3 October 2006Added new email address in 1.4
25 August 2006Cleaned up reference to GnomeMeeting and some references to old versions in codec notes
30 July 2006Changed URL in 3.4 for viewing CVS via browser
24 July 2006Added 10.7 on various calling services
23 July 2006Added 4.35 on removal of Console Components
30 June 2006Updated 4.33 on VC 2005 Express problems
Added 4.34 on OpenH323 compile problems with multiple header versions installed
28 June 2006Added 4.33 on VC 2005 Express problems
Updated 8.3 on OpenMCU status
26 June 2006Added 4.32 on configure finding the wrong header files
Changed 4.6 to include info on Visual C++ 2005 Express Edition
9 June 2006Added more information on the OpenH323 OCX to 8.1
24 May 2006Updated 4.1 to note problems with installed bison/flex in dirs other than C:\TOOLS thanks to Jayme Pechan
Added OPAL build info to 4.5
22 April 2006Added Hannes Friederich to 1.15
Added XMeeting location to 3.2
Added Bayonne and YATE to 8.1
11 April 2006Removed product reference from 8.2 at the request of the product owner
3 April 2006Added 7.15 on call density
31 March 2006Modified 1.6, 1.15, 2.6, 3.2, 3.8, 3.9, 4.1, 7.8, 9.2 10.1, 10.5 thanks to John Bradshaw
Added 8.4 on Asterisk
24 March 2006Fixed typo in 7.4 and changed link in 7.6 thanks to John Bradshaw
Created section 8 for application information
23 March 2006Updated 3.9 and 3.11 on code names
6 March 2006Updated 1.11 on OpenMCU
24 January 2005Fixed text of 7.9 which appeared truncated
Updated 10.4 on Free World Dialup
16 December 2005Added 1.15
14 December 2005Added 4.31 on unix static linking
8 December 2005Added extra ambiguity to 5.17 on H.263 patent issues
12 November 2005Added 5.17 on using H.263 codecs
Added note on H.263 in OpenMCU to 1.11
11 November 2005Added 10.6 on OPAL documentation
3 October 2005Added 4.30 on statically linking applications on Windows
30 September 2005Added 9.3 on PMEMORY_CHECK
26 August 2005Added 1.4, 1.5 and 1.6 to describe licensing issues
6 July 2005Updated 3.1 on the "official" status of various download sites
27 June 2005Updated 6.6 on compressed documentation archives
19 June 2005Updated 2.11 on asking urgent questions
13 June 2005Added 7.14 on ignoring changing SSRC
9 May 2005Updated 1.7 to include Damien Slee's OCX control
7 March 2005Added 5.15 and 5.16 on Speex codecs and wideband
15 February 2005Updated 5.3 with links to some codec vendors
14 February 2005Added 4.29 on link problems
26 January 2005Fixed broken link in 4.12 thanks to Ely Schoenfeld
21 January 2005Added 5.14
9 December 2004Updated 3.11
29 November 2004Updated 10.4 on making calls with Broadvoice using simpleopal
26 November 2004Updated 6.9 on confgure.exe
25 November 2004Updated 7.13 on STUN
19 November 2004Added 4.27 and 4.28
10 November 2004Added 2.16 on asking general H.323 questions
1 November 2004Added 4.26 on ASN parser compiler errors
26 October 2004Added 7.12 on STUN problems
Renumbered and reorganised sections 1 and 2
Merged section 8 into section 1
Added section 7.13 on STUN
14 October 2004Updated 4.21 to include Janus patch 4 note
11 October 2004Added section 10 on OPAL
4 October 2004Added XMeeting to 8.1
1 October 2004More info to 3.9 on the Atlas release
22 September 2004Added 3.10 on where to get the GUI code
17 September 2004More info to 2.10
15 September 2004Added 2.10 on support for old versions of code
8 September 2004Added 6.8 on specification documents
7 September 2004Added 4.25 on include paths
4 September 2004Added 9.2 on getting lists of codecs
2 September 2004Added 7.11 on ENUM
31 August 2004Added 4.24 on configure finding incorrect directories
25 August 2004Added 5.13 and 7.9 on G729
Added 7.10 on Windows service process startup problems
24 August 2004Expanded 7.4 on NetMeeting codecs
Added 8.5 on OpenMCU
19 August 2004Added extra info to 4.22 on the GUI parts of PWLib that are no longer supported
Added 4.23 on VXML warnings
Added 2.9 on asking questions via email and IM
9 August 2004Added 3.9 on Janus and Pandora releases
6 August 2004Added 9.1 on External RTP
4 August 2004Added 4.21 on the removal of the ASNParser
Added 4.22 on the removal of the GUI code
24 July 2004Added 8.4 on NISCC vulnerabilities
Fixed contents link for 5.10
20 July 2004Added 3.3 and 3.4 on accessing the CVS
Changed 3.5 to reflect the availability of ZIP archives
11 July 2004Added 4.20 on ASN parser errors
9 July 2004Added 3.8 on why the openh323.org site is not up-to-date
5 July 2004Fixed reference to flexbison archive in 4.13
3 July 2004Added 4.17 and 4.18 on MSVC header file upgrades
Added 4.19 on .pdb file problems
Added 6.7 on document map
23 June 2004Added 4.16 on submitting patches
Updated 4.10 to refer to submitting patches
22 June 2004Updated 3.1 and 3.3 to refer to the Vox Gratia snapshot mirror
18 June 2004Changed 3.1 to provide Vox Gratia download site
Added link to text version of FAQ in 1.6
17 June 2004Added 5.12 and 7.8 on why G.711 does not always give perfect audio
11 June 2004Updated 5.5 to contain a link to Guilhem Tardy's patches for older versions of OpenH323
10 June 2004Updated 4.5 and 4.6 to contain links to the new Windows build instructions
27 May 2004Added 3.7 on downloading specific versions of the code
Updated 3.3 and 3.4 on CVS tags
Updated 5.2 to include URL of ITU web site
26 May 2004Added 5.11 on frames per packet
20 May 2004Added 8.2 on OPAL
Added 8.3 on milestones and development plans
17 May 2004Added 6.6 on API documentation
Added 5.6 on codec bandwidth calculations
Changed Vox Gratia documentation links
12 May 2004Updated 5.6 on adding codecs
Added 4.15 on reducing code size
10 May 2004Added 4.14 on Solaris
6 May 2004Added 4.13 on bison and flex
5 May 2004Added information on codec plugins
23 April 2004Updated information on H.263
20 April 2004Added 4.9 on vfakeio.cxx problems in old versions of PWLib
Added 4.10 and 7.7 on reporting bugs
8 April 2004Added more info on stupid Windows archiver problems
7 April 2004Added MyPhone to project list and fixed various typos
(thanks to Rolf Sponsel)
6 April 2004Moved to Vox Gratia
Added 3.5 on ZIP archives
Added 3.6 on version information
Updated 4.6 on VS.NET 2003
Added 7.6 on testing
23 March 2004Added 7.5 on echo
18 March 2004Added 4.5 on Windows OpenH323/PWLib build instructions
Added 4.6 on VS.NET 2003
Added 4.7 on ptbuildopts.h error
Added 4.8 on configure.exe missing/corrupt
Added 5.5 on on adding a new codec
Added 5.6 on H.263
Added 5.7 on audio codecs
Added 5.8 on video codecs
Added 6.4 on OpenH323 tutorial
1 March 2004First draft
Changed line 35 from:
to:
Changed line 62 from:
to:
Changed lines 415-416 from:

The official source code archives (tarballs and ZIP files) are available from the downloads page of the OpenH323 SourceForge project, which can be found at http://sourceforge.net/project/showfiles.php?group_id=80674. These same source archives (and occasionally some other releases) can also be found at the Vox Gratia web site at http://www.voxgratia.org/downloads.html. These releases are identical to those available on the SourceForge site as they are updated by the same maintainer from the official CVS repository.

to:

The official source code archives (tarballs and ZIP files) are available from the downloads page of the OpalVoip SourceForge project, which can be found at http://sourceforge.net/project/showfiles.php?group_id=204472.

Deleted lines 418-419:

Please do not use the sources from the download page on the official OpenH323 web site. These files have not been updated since 2003

Changed lines 422-423 from:

The Ekiga (http://www.ekiga.org - formerly GnomeMeeting) team maintain up to date binary packages of OpenH323 and PWLib for Linux at http://www.gnomemeeting.org/index.php?rub=5&pos=0

to:

The Ekiga (http://www.ekiga.org - formerly GnomeMeeting) team maintain up to date binary packages of Opal and PTLib for Linux at http://www.gnomemeeting.org/index.php?rub=5&pos=0

Deleted lines 425-426:

Other (very out of date) binaries can be found on the OpenH323 site

Changed lines 429-441 from:

The latest source code is always in the CVS (see 3.4 below), but the Ekiga team maintains very recent source code tarballs for Linux at http://snapshots.seconix.com and http://snapshots.voxgratia.org

If you are downloading from the repository, you have a number of versions to choose from:

TagDescription
(no tag)CVS Head
This is always the very latest, up to the minute, source code. This may not work or even compile, so use with caution
CURRENTthe most recently compilable development source code used by the developers. Will compile and will run, but may contain some problems
PREVIOUSthe last version of "CURRENT"
DEVELthe current released development code
STABLEthe current stable released code
to:

The latest source code is always in the Subversion repository (see 3.4 below), but the Ekiga team maintains very recent source code tarballs for Linux at http://snapshots.seconix.com and http://snapshots.voxgratia.org

Please read the Wiki for more information on downloading from the Subversion repository.

Changed lines 436-441 from:

3.4 - How do I access the CVS repository?

The CVS is hosted by SourceForge at cvs.sourceforge.net:/cvsroot/openh323. See http://www.voxgratia.org/docs/openh323_cvs.html for more detailed instructions. A web interface to the CVS can be found at http://openh323.cvs.sourceforge.net/openh323/

See 3.3 above for information on development tags available in the CVS, and 3.7 below on how to find a particular version of the source code.

to:

3.4 - How do I access the Subversion repository?

The Subversion repository is hosted by SourceForge. See the Wiki for more detailed instructions. A web interface to the repository can be found here

See 3.7 below on how to find a particular version of the source code.

Changed lines 446-447 from:

ZIP files are now created for recent released, but may not be available for some older version. Windows users can use tar.gz source archives without any problems if an archive program that handles end of line characters and binaries is used. We recommend WinZIP. See section 4.2, 4.7 and 4.8 for related problems

to:

ZIP files are now created for all releases. We recommend WinZIP.

See section 4.2, 4.7 and 4.8 for related problems

Changed lines 453-454 from:

Normally, the recommended stable version is the most recent version available from the SourceForge download page. The recommended versions are also shown on the Vox Gratia home page at http://www.voxgratia.org

to:

Normally, the recommended stable version is the most recent version available from the SourceForge download page.

Changed lines 458-461 from:

If the version you require is not available on any of the download sites (see 3.1 above) then you will have to extract it from the CVS repository (see 3.4 above).

Every release of OpenH323 or PWLIB is available as a CVS tag. For example, version 1.6.0 or PWLib is assigned the tag v1_6_0. This is useful for doing compares between versions.

to:

If the version you require is not available on any of the download sites (see 3.1 above) then you will have to extract it from the Subversion repository (see 3.4 above).

Every release of Opal or PTLIB is available as a Subversion tag or branch. For example, version 1.6.0 of PTLib is assigned the tag v1_6_0. This is useful for doing compares between versions.

Changed lines 470-475 from:

3.9 - What are Janus, Pandora, Mimas, Atlas and Phobos?

These names are all code names for various releases of OpenH323 or OPAL. A full explanation of all of the code names can be found on this page http://www.voxgratia.org/docs/milestones.html, but the important information is that the current stable releases are Phobos (for OPAL) and Atlas (for OpenH323). The current development builds are Deimos (for OPAL) and Titan (for OpenH323)

For those who are interested, the OpenH323 code names come from the moons of Saturn. The OPAL code names come from the two moons of Mars, which appropriately translate to Fear (Phobos) and Panic (Deimos). Future code names for OPAL will come from star names - the first one will be Centauri.

to:

3.9 - What Phobos, Deimos and Centauri?

These names are all code names for various releases of OPAL.

For those who are interested, the first two OPAL releases are named after the two moons of Mars, which appropriately translate to Fear (Phobos) and Panic (Deimos). Future code names for OPAL will come from star names - the first one will be Centauri.

Changed lines 484-491 from:

The configure.in files in PWLib and OpenH323 were renamed to configure.ac after the Pandora release as this is now the preferred extension for autoconf files. Unfortunately, the limitation of the CVS modules files do not allow for different file sets for different versions of the same module, which means that the configure.in files have been moved to the CVS "attic".

This means that extracting older releases of the source from the CVS by tag will not get the configure.in file. The file can be retreived using an explicit CVS checkout command to retrieve, as follows:

 cvs co -rPandora_release configure.in

We may be able to fix this problem at some time in the future - announcements will be made if this occurs

to:

The configure.in files in PTLib and Opal are named configure.ac .

Changed lines 497-498 from:
  • Make sure that the pwlib directory is renamed to "pwlib" and the openh323 directory is "openh323", as the original tarball may have different names or your CVS client may have used the module name instead
  • You need Bison and Flex installed as well as a compiler and associated tools. We recommend gcc and Make for Unix platforms, and Microsoft VS.net 2003 for Windows although other environments are supported. Note that the bison and flex package provided as part of the Windows build instructions (see 4.5) must be installed in C:\TOOLS unless you seriously know what you are doing.
to:
  • Make sure that the ptlib directory is renamed to "ptlib" and the Opal directory is "opal" as the original tarball may have different names or your CVS client may have used the module name instead
  • You need Bison and Flex installed as well as a compiler and associated tools. We recommend gcc and Make for Unix platforms, and Microsoft VS.net 2005 for Windows although other environments are supported. Note that the bison and flex package provided as part of the Windows build instructions (see 4.5) must be installed in C:\TOOLS unless you seriously know what you are doing.
Changed lines 516-517 from:

4.2 - Microsoft Visual Studio will not load the DSP and DSW files provided with OpenH323

to:

4.2 - Microsoft Visual Studio will not load the DSP and DSW files provided with Opal

Changed lines 525-528 from:

4.3 - I know the OpenLDAP/OpenSSL/Foobah library on my system is broken, but OpenH323 uses it anyway. How do I prevent this?

Run "./configure" for PWLib or OpenH323 with the appropriate flag to disable the module you want to avoid. Use "./configure --help" for a list of these flags.

to:

4.3 - I know the OpenLDAP/OpenSSL/Foobah library on my system is broken, but OPAL uses it anyway. How do I prevent this?

Run "./configure" for PWLib or OPAL with the appropriate flag to disable the module you want to avoid. Use "./configure --help" for a list of these flags.

Changed lines 530-531 from:

4.4 - How do I cross compile OpenH323 for another platform?

to:

4.4 - How do I cross compile OPAL for another platform?

Changed lines 540-543 from:

4.5 - Are there detailed instructions for building OPAL, OpenH323 and PWLib on Windows?

Instructions for compiling OPAL, OpenH323 and PWLib on Windows can be found at http://www.voxgratia.org/docs/opal_windows.html, http://www.voxgratia.org/docs/pwlib_windows.html and http://www.voxgratia.org/docs/openh323_windows.html

to:

4.5 - Are there detailed instructions for building OPAL and PTLib on Windows?

Instructions for compiling OPAL and PTLib on Windows can be found at in the Wiki:

  • Building PTLib
  • [[http://wiki.opalvoip.org/index.php?n=Main.BuildingOpal]Building OPAL]
Changed lines 548-557 from:

4.6 - Can I compile OpenH323/PWLib using VS.NET 2003, VS.net 2005 and Visual C++ 2005 Express Edition?

Version 1.14 of OpenH323 and version 1.7 of PWLib and all later revisions contain full support for VS.NET 2003. See the build instructions (section 4.5 above) for full information in compiling in that environment.

Project files for VS.net 2005 and Visual C++ 2005 Express Edition were added on 26 June 2006 and are available in all later versions of the code. VC 5 Express Edition is available from:

http://msdn.microsoft.com/vstudio/express/visualc/download/

Louis Marascio has created a set of patches to allow compilation of earlier version of PWLib/OpenH323 with VS.net 2003. These can be downloaded from http://www.louismarascio.com/vsnet2003-openh323.zip

to:

4.6 - Can I compile OPAL/PWLib using VS.NET 2003, VS.net 2005 and Visual C++ 2005 Express Edition?

Yes.

Use the ptlib.sln and opal.sln files for VS.NET 2003.

Use the ptlib_2005.sln and opal_2005.sln files for VS.net 2005.

Changed lines 559-560 from:

The file ptbuildopts.h is created from ptbuildopts.h.in by the pwlib/configure.exe program. If this step does not occur, then ptbuildopts.h is not created and the build process will fail. You need to determine why this is happening. See section 4.2 above or section 4.25 for a possible explanations

to:

The file ptbuildopts.h is created from ptbuildopts.h.in by the ptlib/configure.exe program. If this step does not occur, then ptbuildopts.h is not created and the build process will fail. You need to determine why this is happening. See section 4.2 above or section 4.25 for a possible explanations

Changed lines 564-565 from:

This indicates that the file pwlib/configure.exe program cannot be executed, probably because it is missing or corrupted. Download a new version and make sure it is a working Windows executable. See section 4.2 above for a possible explanation

to:

This indicates that the file ptlib/configure.exe program cannot be executed, probably because it is missing or corrupted. Download a new version and make sure it is a working Windows executable. See section 4.2 above for a possible explanation

Changed lines 569-570 from:

This is a problem in older versions of PWLib, such as version 1.5.3. Download and use a later version of PWLib downloaded from SourceForge (see 3.1).

to:

This is a problem in older versions of PTLib, such as version 1.5.3. Download and use a later version of PWLib downloaded from SourceForge (see 3.1).

Changed lines 574-577 from:

The best way to report a bug is to use the Bug tracker at the OpenH323 Source Forge site which can be found at http://sourceforge.net/tracker/?group_id=80674&atid=560612.

Sending an email to the OpenH323 mailing list will probably also work, but we would much rather you used the bug tracker.

to:

The best way to report a bug is to use the Bug tracker at the OpalVoip Source Forge site.

Changed lines 579-580 from:

4.11 - How do I fix errors about a missing function called PIsDescendant or IsDescendant ?

to:

4.11 - Not used

Changed line 7 from:
to:
Changed line 9 from:
to:

1.6 - Not used \\

Changed lines 12-13 from:
to:
Changed lines 15-19 from:
to:
Changed line 24 from:
to:
Changed lines 36-37 from:
to:
Changed lines 163-166 from:

1.1 - Where can I find the FAQ?

The FAQ is available at http://www.voxgratia.org/docs/faq.html, and is posted automatically every two weeks to the OpenH323 mailing list. It also available in text form at http://www.voxgratia.org/docs/openh323-faq.txt

to:

1.1 - Where can I find the OPAL FAQ?

The |Opal FAQ is available as part of the Wiki at http://www.opalvoip.org.wiki.

The previous version of the FAQ (which includes information on OpenH323) can be found at http://www.voxgratia.org/docs/faq.html, but this is no longer being updated.

Changed lines 170-173 from:

1.2 - My question is not answered by the FAQ, how can I make a suggestion?

Send any suggestions by email to craigs@postincrement.com

to:

1.2 - My question is not answered by the FAQ, how can I ask a question?

Send any suggestions by email to the appropriate Opal mailing list. See the Wiki page for more information.

Changed lines 180-187 from:

1.4 - Who owns and runs the OpenH323 mailing list and OpenH323 web site, and how do I contact them if I am having problems?

The OpenH323 mailing list is hosted by SourceForge and maintained by Quicknet Technologies. Problems regarding the operation of the list should be sent to Dave Erhart <daviderhart@sourforge.net>. See 2.1 and 2.3 for information on subscribing to the list.

Note that the previous mailing list at openh323@openh323.org went offline in March 2007.

It is well known that the openh323.org web site contains out-of-date information and a very old version of the code. Feel free to email Quicknet regarding this problem but please don't email the mailing list, or me, as there is nothing we can do about it.

to:

1.4 - Who owns and runs the OPAL mailing lists and OpalVoip web site, and how do I contact them if I am having problems?

The Opal mailing lists is hosted by SourceForge and maintained by the OpalVoip project managers. See the developer list for contact details.

See 2.1 and 2.3 for information on subscribing to any OpalVoip list.

The OpalVoip web site is maintained by craigs@postincrement.com | Craig Southeren.

The openh323.org web site is not maintained by anybody. Please don't email us it.

Changed lines 204-209 from:

1.6 - I'm using pwlib 1.12.0 and openh323 1.5.2 from the openh323.org site, and I have a problem. Will anyone help me?

It is very unlikely that anyone will assist you with problem in that version of the code, because it has not been updated since mid-2003. There have been several major stable releases of the system in that time, so you should upgrade to the latest stable build and see if your problem persists. If it still happens with more recent code, then ask again.

And yes, it is known that that the openh323.org only provides these old versions of the code. See 1.4 for more information

to:

1.6 - Not used

Changed lines 215-218 from:

1.9 - What are the development plans for OpenH323 and OPAL?

The latest development plans and milestones can be found at http://www.voxgratia.org/docs/milestones.html?

to:

1.9 - What are the development plans for OPAL?

The latest development plans and milestones can be found here

Changed lines 220-227 from:

1.10 - What were the H.323 security vulnerabilities reported by the NISCC, and how do they affect OpenH323?

The NISSC announced on 13 January 2004 that they had discovered vulnerabilities in several implementations of the H.323 protocol. This announcement was also released by CERT as Advisory CA-2004-01.

All releases of PWLib after v1.6.0 contain fixes for the vulnerabilities demonstrated by the NISCC test suite. This includes the Janus and Pandora baseline releases and all subsequent stable and development code releases.

For more information, see http://www.voxgratia.org/docs/niscc_006489-h323.html

to:

1.10 - Not used

Changed lines 231-232 from:

A new project was started in March 2006 with the support of Stonevoice to restore video functionality to OpenMCU. This work is proceeding, and will result in a full-featured version of OpenMCU that supports video and audio.

to:

In March 2006, with the support of Stonevoice, a full-featured version of OpenMCU that supports video and audio was released.

An version of OpenMCU is in developement that supports OPAL through use of the Woomera protocol

Changed lines 236-239 from:

1.12 - What is the license used for PWLib, OpenH323 and OPAL, and why wasn't the GPL used?

PWLib, OpenH323 and OPAL are available under v1.0 of the Mozilla Public License (MPL). The MPL was chosen specifically because it permits commercial software to be combined with OpenH323 and OPAL in ways that the GPL does not, but still requires changes to the released code to be contributed back to the community. The exact text of the license used for OpenH323 can be viewed in the CVS here.

to:

1.12 - What is the license used for PTLib and OPAL, and why wasn't the GPL used?

PTLib and OPAL are available under v1.0 of the Mozilla Public License (MPL). The MPL was chosen specifically because it permits commercial software to be combined with OPAL in ways that the GPL does not, but still requires changes to the released code to be contributed back to the community. The exact text of the license used for OPAL can be viewed in the Subversion repository

Changed lines 243-246 from:

1.13 - What restrictions are placed on the software can I combine with PWLib, OpenH323 and OPAL?

The MPL places no restrictions on what software you may combine with PWLib, OpenH323 or OPAL. You can use OpenH323 with closed source software or with Open Source software released under other licenses, provided that the other license allows this.

to:

1.13 - What restrictions are placed on the software can I combine with PTLib and OPAL?

The MPL places no restrictions on what software you may combine with PTLib or OPAL. You can use Opal with closed source software or with Open Source software released under other licenses, provided that the other license allows this.

Changed lines 248-249 from:

1.14 - What license restrictions are placed on changes I make to PWLib, OpenH323 and OPAL?

to:

1.14 - What license restrictions are placed on changes I make to PTLib and OPAL?

Changed lines 268-271 from:

In plain language, this means that any changes you make to any existing OpenH323 source file must be released under the same MPL license. This same applies to any new file that contains part of any previously released code.

However, the MPL places no restrictions on any new files you create that contain wholly original code. You can choose to release (or not release) these files under any license you choose. Please note that files not covered by the MPL will not be included in the official OpenH323 CVS.

to:

In plain language, this means that any changes you make to any existing Opal source file must be released under the same MPL license. This same applies to any new file that contains part of any previously released code.

However, the MPL places no restrictions on any new files you create that contain wholly original code. You can choose to release (or not release) these files under any license you choose. Please note that files not compatible with the MPL license will not be included in the official Opal Subversion repository

Changed lines 273-276 from:

1.15 - Where did PWLib, OpenH323 and OPAL come from, and who is responsible for it now?

PWLib was started by in 1992 by Robert Jongbloed and Craig Southeren, and the copyright for the code was transferred to an Australian company called Equivalence Pty Ltd in 1996. Work commenced on OpenH323 in 1998, and PWLib and OpenH323 was released as Open Source software using the MPL license in the same year. The openh323.org domain name was acquired at this time, and the code was made available via a private server at that web address. OPAL coding started in late 1999 and was released under the same license.

to:

1.15 - Where did PTLib and OPAL come from, and who is responsible for it now?

PTLib was originally called PWLib, and was created in 1992 by Robert Jongbloed and Craig Southeren. The copyright for the code was transferred to an Australian company called Equivalence Pty Ltd in 1996. Work commenced on OpenH323 in 1998, and PWLib and OpenH323 was released as Open Source software using the MPL license in the same year. The openh323.org domain name was acquired at this time, and the code was made available via a private server at that web address. OPAL coding started in late 1999 and was released under the same license.

Changed lines 281-282 from:

Currently, the CVS remains hosted on SourceForge while the mailing list is hosted by a mail server run by Quicknet who retain the rights to the openh323.org domain name and the ownership of Equivalence Pty Ltd. There have been no new contributions to the codebase by Quicknet or updates to the openh323.org web site since June 2003.

to:

In October 2007, PWLib was renamed to PTLib. The OPAL and PTLib repositories were then migrated to Subversion, and the project was moved to the opalvoip project on SourceForge. OpenH323 was renamed h323plus and was moved to the h323plus project on SourceForge

Deleted lines 295-296:

Bruce Ferrell administers the mailing list and SourceForge web site on behalf of Quicknet.

Changed lines 301-302 from:

2. USING THE OPENH323 LIST

to:

2. USING THE OPAL MAILING LIST

Changed lines 304-309 from:

2.1 - How do I subscribe to the mailing list?

The only way to subscribe is via the form on the following web page

https://lists.sourceforge.net/lists/listinfo/openh323-devel

to:

2.1 - How do I subscribe to a mailing list?

The only way to subscribe is via the SourceForge mailing list page

Changed lines 311-314 from:

The only way to unsubscribe is via the form at the bottom of the following web page

https://lists.sourceforge.net/lists/listinfo/openh323-devel

to:

The only way to unsubscribe is via the SourceForge mailing list page

Changed lines 316-317 from:
to:

Send an email to the appropriate email address:

  • opalvoip-user@lists.sourceforge.net
  • opalvoip-devel@lists.sourceforge.net
Changed lines 323-326 from:

2.4 - What is the mailing list used for?

This list is used for asking any questions related to the OpenH323 project or related technologies.

to:

2.4 - What are the mailing lists used for?

This list is used for asking any questions related to the Opal project or related technologies.

Changed line 333 from:
  • Questions unrelated to OpenH323
to:
  • Questions unrelated to Opal
Changed lines 347-350 from:

Yes. http://sourceforge.net/mailarchive/forum.php?forum=openh323-devel

Archives of the old list can be found at http://www.openh323.org/pipermail/openh323/

to:

Yes.

See the Archives links on the SourceForge mailing list page

Changed lines 359-360 from:

There are several enforcers who ensure that the rules are applied fairly and consistently. If you are emailed by Craig Southeren or David Erhart for being off-topic, for flaming, or if they indicate that an email thread is closed, it is suggested that you listen carefully unless you have kneecaps you no longer care about.

to:

There are several enforcers who ensure that the rules are applied fairly and consistently. If you are emailed by one of them for being off-topic, for flaming, or if they indicate that an email thread is closed, it is suggested that you listen carefully unless you have kneecaps you no longer care about.

Deleted line 363:
Changed lines 398-401 from:

2.15 - Why aren't there separate lists for users and developers like other projects?

Feel free to subscribe to the lists on SourceForge as you please.

to:

2.15 - Not used

Changed lines 401-406 from:

2.16 - Can I ask questions about how to use/debug/understand another H.323 stack?

The OpenH323 mailing list is intended for questions and issues related to the OpenH323 stack. If you have questions about a commercial H.323 stack, then you should contact the stack vendor for support. Commercial stacks are usually covered by non-disclosure agreements, so it's unlikely that anyone on the list could help you without breaking that agreement.

If you have questions regarding H.323 that are not related to OpenH323 or any other specific stack, then the Packetizer site (see http://www.packetizer.com has many excellent resources. It also has information on several H.323 mailing lists (see http://www.packetizer.com/voip/h323/lists.html)

to:

2.16 - Can I ask questions about how to use/debug/understand another H.323/SIP/IAX stack?

The Opal mailing lists are intended for questions and issues related to the Opal stack. If you have questions about a commercial stack, then you should contact the stack vendor for support. Commercial stacks are usually covered by non-disclosure agreements, so it's unlikely that anyone on the list could help you without breaking that agreement.

If you have questions regarding protocols that are not related to Opal or any other specific stack, then the Packetizer site (see http://www.packetizer.com has many excellent resources.

November 14, 2007, at 12:07 PM by 62.221.40.190 -
Added lines 526-539:

NOTE: Since there is no ReadMe.txt file in opal-v3_0_0-src.tar.gz available from sourceforge I dare to leave some comments here:

1) If you are trying to build opal lib under linux you should have /root/pwlib and /root/opal directories.
2) If you try to build ptlib-v2_0_0 with opal-v3_0_0 you may possibly use the following lines to succeed:
cd /root/ptlib
./configure --enable-v4l=no --enable-v4l2=no
make
cd /root/opal
./configure --disable-versioncheck
make opt
November 04, 2007, at 04:16 PM by Michel Stempin - Formatting
Changed lines 1296-1297 from:

simpleopal -n h323:h323.voxgratia.org

to:
 simpleopal -n h323:h323.voxgratia.org
Changed lines 1300-1301 from:

simpleopal -n sip:192.168.1.247

to:
 simpleopal -n sip:192.168.1.247
November 04, 2007, at 04:01 PM by Michel Stempin - References, again!
Changed lines 212-214 from:

See 10.1

to:

See 10.1

Changed lines 484-486 from:

The owners of the openh323.org domain name (Quicknet Technologies, Inc) maintain the www.openh323.org web site and the openh323.org mailing list. See 1.4 ]]for how to contact Quicknet.

to:

The owners of the openh323.org domain name (Quicknet Technologies, Inc) maintain the www.openh323.org web site and the openh323.org mailing list. See 1.4 for how to contact Quicknet.

Changed lines 588-590 from:

If you have a patch that adds a new feature, then please use the patch tracker as described in 4.16

to:

If you have a patch that adds a new feature, then please use the patch tracker as described in 4.16

Changed lines 896-898 from:

See 7.8

to:

See 7.8

Changed lines 901-903 from:

See 7.9

to:

See 7.9

Changed lines 1058-1060 from:

See 4.10

to:

See 4.10

November 04, 2007, at 03:54 PM by Michel Stempin - Diffed as text to original Vox Gratia
Changed line 59 from:
to:
Changed line 63 from:
to:
Changed line 71 from:
to:
Changed line 136 from:
to:
Changed lines 180-185 from:

The OpenH323 mailing list is hosted by SourceForge and maintained by Quicknet Technologies. Problems regarding the operation of the list should be sent to Dave Erhart <daviderhart@sourforge.net>. See 2.1 and 2.3 for information on subscribing to the lis

Note that the previous mailing list at openh323@openh323.org went offline in March 2007.

It is well known that the openh323.org web site contains out-of-date information and a very old version of the code. Feel free to email Quicknet regarding this problem but please don't email the mailing list, or me, as there is nothing we can do about it.

to:

The OpenH323 mailing list is hosted by SourceForge and maintained by Quicknet Technologies. Problems regarding the operation of the list should be sent to Dave Erhart <daviderhart@sourforge.net>. See 2.1 and 2.3 for information on subscribing to the list.

Note that the previous mailing list at openh323@openh323.org went offline in March 2007.

It is well known that the openh323.org web site contains out-of-date information and a very old version of the code. Feel free to email Quicknet regarding this problem but please don't email the mailing list, or me, as there is nothing we can do about it.

Changed lines 204-205 from:

And yes, it is known that that the openh323.org only provides these old versions of the code. See 1.4 for more informati

to:

And yes, it is known that that the openh323.org only provides these old versions of the code. See 1.4 for more information

Changed line 208 from:
to:
Changed line 214 from:
to:
Changed line 219 from:
to:
Changed lines 223-224 from:

The NISSC announced on 13 January 2004 that they had discovered vulnerabilities in several implementations of the H.323 protocol. This announcement was also released by CERT as Advisory CA-2004-01.

to:

The NISSC announced on 13 January 2004 that they had discovered vulnerabilities in several implementations of the H.323 protocol. This announcement was also released by CERT as Advisory CA-2004-01.

Changed line 228 from:
to:
Changed lines 275-276 from:

However, the MPL places no restrictions on any new files you create that contain wholly original code. You can choose to release (or not release) these files under any license you choose. Please note that files not covered by the MPL will not be included in the official OpenH323 CVS.

to:

However, the MPL places no restrictions on any new files you create that contain wholly original code. You can choose to release (or not release) these files under any license you choose. Please note that files not covered by the MPL will not be included in the official OpenH323 CVS.

Changed lines 282-283 from:

In early 2000, Robert and Craig sold Equivalence Pty Ltd and the rights to the openh323.org domain name to a US company called Quicknet Technologies Inc. They were also employed by Quicknet to support OpenH323 and to develop associated software. The OpenH323 CVS and mailing list was moved to a new server managed by Quicknet.

to:

In early 2000, Robert and Craig sold Equivalence Pty Ltd and the rights to the openh323.org domain name to a US company called Quicknet Technologies Inc. They were also employed by Quicknet to support OpenH323 and to develop associated software. The OpenH323 CVS and mailing list was moved to a new server managed by Quicknet.

Changed lines 349-350 from:

When you subscribe to the list, make sure you select "Yes" on the option labelled "Would you like to receive list mail batched in a daily digest?". If you are replying to messages contained in a digest, please make sure you change the subject line to reflect your question rather than retaining the arbitrary digest title.

to:

When you subscribe to the list, make sure you select "Yes" on the option labelled "Would you like to receive list mail batched in a daily digest?". If you are replying to messages contained in a digest, please make sure you change the subject line to reflect your question rather than retaining the arbitrary digest title.

Changed lines 361-362 from:

No flaming. No trolls. Be nice. Be warned.

to:

No flaming. No trolls. Be nice. Be warned.

Changed lines 369-371 from:

2.10 - How can I ensure someone will answer my question?

to:

2.10 - How can I ensure someone will answer my question?

Changed lines 400-401 from:

If you see a question for which you know the answer, or you see a reply that you know to be incorrect, then please join in the discussion. And be gracious if you make a mistake - being wrong is not a crime but being impolite certainly is.

to:

If you see a question for which you know the answer, or you see a reply that you know to be incorrect, then please join in the discussion. And be gracious if you make a mistake - being wrong is not a crime but being impolite certainly is.

Changed lines 411-412 from:

2.16 - Can I ask questions about how to use/debug/understand another H.323 stack?

to:

2.16 - Can I ask questions about how to use/debug/understand another H.323 stack?

Changed lines 429-430 from:

Please do not use the sources from the download page on the official OpenH323 web site. These files have not been updated since 2003

to:

Please do not use the sources from the download page on the official OpenH323 web site. These files have not been updated since 2003

Changed lines 443-444 from:

The latest source code is always in the CVS (see 3.4 below), but the Ekiga team maintains very recent source code tarballs for Linux at http://snapshots.seconix.com and [[http://snapshots.voxgratia.org|http://snapshots.voxgratia.org

to:

The latest source code is always in the CVS (see 3.4 below), but the Ekiga team maintains very recent source code tarballs for Linux at http://snapshots.seconix.com and http://snapshots.voxgratia.org

Changed line 450 from:

This is always the very latest, up to the minute, source code. This may not work or even compile so use with caution||

to:

This is always the very latest, up to the minute, source code. This may not work or even compile, so use with caution||

Changed lines 456-457 from:

See 3.7 below on how to find a particular version of the source code in the C

to:

See 3.7 below on how to find a particular version of the source code in the CVS

Changed lines 463-464 from:

See 3.3 above for information on development tags available in the CVS, and 3.7 below on how to find a particular version of the source cod

to:

See 3.3 above for information on development tags available in the CVS, and 3.7 below on how to find a particular version of the source code.

Changed lines 478-481 from:

If the version you require is not available on any of the download sites (see 3.1 above) then you will have to extract it from the CVS repository (see 3.4 above

Every release of OpenH323 or PWLIB is available as a CVS tag. For example, version 1.6.0 or PWLib is assigned the tag v1_6_0. This is useful for doing compares between versions.

to:

If the version you require is not available on any of the download sites (see 3.1 above) then you will have to extract it from the CVS repository (see 3.4 above).

Every release of OpenH323 or PWLIB is available as a CVS tag. For example, version 1.6.0 or PWLib is assigned the tag v1_6_0. This is useful for doing compares between versions.

Changed lines 486-487 from:

The owners of the openh323.org domain name (Quicknet Technologies, Inc) maintain the www.openh323.org web site and the openh323.org mailing list. See 1.4 ]]for how to contact Quickne

to:

The owners of the openh323.org domain name (Quicknet Technologies, Inc) maintain the www.openh323.org web site and the openh323.org mailing list. See 1.4 ]]for how to contact Quicknet.

Changed lines 495-496 from:

For those who are interested, the OpenH323 code names come from the moons of Saturn. The OPAL code names come from the two moons of Mars, which appropriately translate to Fear (Phobos) and Panic (Deimos). Future code names for OPAL will come from star names - the first one will be Centauri.

to:

For those who are interested, the OpenH323 code names come from the moons of Saturn. The OPAL code names come from the two moons of Mars, which appropriately translate to Fear (Phobos) and Panic (Deimos). Future code names for OPAL will come from star names - the first one will be Centauri.

Changed line 525 from:
  • You need Bison and Flex installed as well as a compiler and associated tools. We recommend gcc and Make for Unix platforms, and Microsoft VS.net 2003 for Windows although other environments are supported. Note that the bison and flex package provided as part of the Windows build instructions (see 4.5) must be installed in C:\TOOLS unless you seriously know what you are doin
to:
  • You need Bison and Flex installed as well as a compiler and associated tools. We recommend gcc and Make for Unix platforms, and Microsoft VS.net 2003 for Windows although other environments are supported. Note that the bison and flex package provided as part of the Windows build instructions (see 4.5) must be installed in C:\TOOLS unless you seriously know what you are doing.
Changed lines 535-536 from:

If you have this problem, you most likely will have the problems described in 4.7 and 4.8 as wel

to:

If you have this problem, you most likely will have the problems described in 4.7 and 4.8 as well.

Changed lines 571-572 from:

The file ptbuildopts.h is created from ptbuildopts.h.in by the pwlib/configure.exe program. If this step does not occur, then ptbuildopts.h is not created and the build process will fail. You need to determine why this is happening. See section 4.2 above or section 4.25 for a possible explanatio

to:

The file ptbuildopts.h is created from ptbuildopts.h.in by the pwlib/configure.exe program. If this step does not occur, then ptbuildopts.h is not created and the build process will fail. You need to determine why this is happening. See section 4.2 above or section 4.25 for a possible explanations

Changed lines 574-577 from:

4.8 - How do I fix the Windows build error "Configuring Build Options \ This program cannot run in DOS mode Error executing c:\windows\system32\cmd.exe" ?

This indicates that the file pwlib/configure.exe program cannot be executed, probably because it is missing or corrupted. Download a new version and make sure it is a working Windows executable. See section 4.2 above for a possible explanati

to:

4.8 - How do I fix the Windows build error "Configuring Build Options \ This program cannot run in DOS mode \ Error executing c:\windows\system32\cmd.exe"?

This indicates that the file pwlib/configure.exe program cannot be executed, probably because it is missing or corrupted. Download a new version and make sure it is a working Windows executable. See section 4.2 above for a possible explanation

Changed lines 581-582 from:

This is a problem in older versions of PWLib, such as version 1.5.3. Download and use a later version of PWLib downloaded from SourceForge (see 3.1)

to:

This is a problem in older versions of PWLib, such as version 1.5.3. Download and use a later version of PWLib downloaded from SourceForge (see 3.1).

Changed lines 588-589 from:

Sending an email to the OpenH323 mailing list will probably also work, but we would much rather you used the bug tracker.

to:

Sending an email to the OpenH323 mailing list will probably also work, but we would much rather you used the bug tracker.

Changed line 592 from:
to:
Changed lines 598-603 from:
 obj.IsDescendant(MyParticularClass::Class()) 

In PWLib 1.7 and later, the function IsDescendant was replaced with PIsDescendant in order to provide support for C++ RTTI (Run Time Type Information). This function is used as follows:

 PIsDescendant(&obj, MyParticularClass) 
to:
 obj.IsDescendant(MyParticularClass::Class())

In PWLib 1.7 and later, the function IsDescendant was replaced with PIsDescendant in order to provide support for C++ RTTI (Run Time Type Information). This function is used as follows:

 PIsDescendant(&obj, MyParticularClass)
Changed lines 607-608 from:

These files were removed when support for audio codec plugins was introduced. See the document http://www.voxgratia.org/docs/codec_plugins.html#converting for more information

to:

These files were removed when support for audio codec plugins was introduced. See the document http://www.voxgratia.org/docs/codec_plugins.html#converting for more information

Changed lines 612-613 from:

You need to install the GNU bison and flex programs program. See http://www.voxgratia.org/docs/pwlib_windows.html#flexbison for information on how to do this.

to:

You need to install the GNU bison and flex programs program. See http://www.voxgratia.org/docs/pwlib_windows.html#flexbison for information on how to do this.

Changed lines 622-623 from:

First of all, make sure you are using the Release build ("make opt" for Unix) and the "No Trace" build for Windows.

to:

First of all, make sure you are using the Release build ("make opt" for Unix) and the "No Trace" build for Windows.

Changed lines 630-631 from:

Linux executable is always larger that the comparable Windows program, but it possible to get the same code in under 3Mbytes.

to:

Linux executable is always larger that the comparable Windows program, but it possible to get the same code in under 3Mbytes.

Changed lines 635-636 from:

If you have a code patch that adds a new feature or capability, or fixes a bug, then please submit it using the SourceForge patch tracker at http://sourceforge.net/tracker/?group_id=80674&atid=560614

to:

If you have a code patch that adds a new feature or capability, or fixes a bug, then please submit it using the SourceForge patch tracker at http://sourceforge.net/tracker/?group_id=80674&atid=560614

Changed lines 640-641 from:

4.17 - How do I fix the following error on when compiling using MSVC 6 "WARNING: the following file requires upgrading: C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\XTREE \ Please run 'msvc6chk upgrade' to upgrade this file"?

to:

4.17 - How do I fix the following error on when compiling using MSVC 6 "WARNING: the following file requires upgrading: \ C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\XTREE \ Please run 'msvc6chk upgrade' to upgrade this file"?

Changed lines 649-650 from:

This is probably because you have not upgraded your MSVC 6 header files - see 4.17 abo

to:

This is probably because you have not upgraded your MSVC 6 header files - see 4.17 above

Changed lines 659-660 from:

4.20 - How do I fix the following error when compiling OpenH323 "This program cannot be run in DOS mode. Error executing c:\windows\system32\cmd.exe. \ asnparser.exe - 1 error(s), 0 warning(s)" ?

to:

4.20 - How do I fix the following error when compiling OpenH323 "This program cannot be run in DOS mode. \ Error executing c:\windows\system32\cmd.exe. \ asnparser.exe - 1 error(s), 0 warning(s)"?

Changed lines 675-676 from:

As always, the original source code is still available in the CVS but may not be actively maintained. See 3.10 for more informatio

to:

As always, the original source code is still available in the CVS but may not be actively maintained. See 3.10 for more information

Changed lines 682-683 from:

For more information on Jim Clark's excellent XML toolkit, see http://www.jclark.com/xml/expat.html or http://expat.sourceforge.net

to:

For more information on Jim Clark's excellent XML toolkit, see http://www.jclark.com/xml/expat.html or http://expat.sourceforge.net

Changed lines 689-690 from:

To fix this, it is necessary to tell configure not to search in certain directories for files. This can be done by changing the configure command line in the project file, but there are also several predefined environment variables which, if set, will be used by configure to determine which directories to ignore. These variables are set to a list of directories separated by semicolons (";") :

to:

To fix this, it is necessary to tell configure not to search in certain directories for files. This can be done by changing the configure command line in the project file, but there are also several predefined environment variables which, if set, will be used by configure to determine which directories to ignore. These variables are set to a list of directories separated by semicolons (";") :

Changed line 699 from:
to:
Changed lines 719-720 from:

These errors are probably due some flag differences in the bison pre-processor, but the solution is very simple. Simply upgrade your code to at least the last Janus release version (as of 1 Nov 2004, this was Janus patch 4) because that version (and all subsequent versions) no longer require the ASN parser to be compiled. See 4.21 for more informati

to:

These errors are probably due some flag differences in the bison pre-processor, but the solution is very simple. Simply upgrade your code to at least the last Janus release version (as of 1 Nov 2004, this was Janus patch 4) because that version (and all subsequent versions) no longer require the ASN parser to be compiled. See 4.21 for more information

Changed lines 738-739 from:

The long answer is that PWLib and OpenH323 attempt to preserve the ordinals used for DLL entry points across different versions of the libraries. To do this, the MergeSym program compares the function signatures in the DLLs to the entry points listed in the .dtf files, and makes sure that the final file ends up with compatible ordinals. The default .dtf files are created on a system with all optional features enabled, which means that if they are used on a system with less features, there are unresolved symbols left over.

to:

The long answer is that PWLib and OpenH323 attempt to preserve the ordinals used for DLL entry points across different versions of the libraries. To do this, the MergeSym program compares the function signatures in the DLLs to the entry points listed in the .dtf files, and makes sure that the final file ends up with compatible ordinals. The default .dtf files are created on a system with all optional features enabled, which means that if they are used on a system with less features, there are unresolved symbols left over.

Changed lines 763-764 from:
"make optnoshared" - creates a statically linked executable without debug information
to:
"make optnoshared" - creates a statically linked executable without debug information
Changed lines 839-840 from:

It is not clear whether this is legal or not, but there is reason to believe that usage of the MS G.723.1 codec by programs other than those authorised by Microsoft is in violation of the DMCA. We choose not to use this codec for that reason - you make your own choice.

to:

It is not clear whether this is legal or not, but there is reason to believe that usage of the MS G.723.1 codec by programs other than those authorised by Microsoft is in violation of the DMCA. We choose not to use this codec for that reason - you make your own choice.

Changed lines 950-951 from:

As expected, the patent issue is not as clear.

to:

As expected, the patent issue is not as clear.

Changed lines 954-955 from:

In the end, there is no definitive answer saying that ffmpeg is safe to use, or not. You'll have to make up your own mind and get your own advice.

to:

In the end, there is no definitive answer saying that ffmpeg is safe to use, or not. You'll have to make up your own mind and get your own advice.

Changed lines 981-982 from:

Vladimir Toncar has written a tutorial that can be viewed at http://toncar.cz/openh323/tut/. It is available in English, Brazlilian Portuguese and Spanish

to:

Vladimir Toncar has written a tutorial that can be viewed at http://toncar.cz/openh323/tut/. It is available in English, Brazlilian Portuguese and Spanish

Changed line 987 from:
to:
Changed line 1003 from:
to:
Changed lines 1022-1023 from:

You are probably behind a firewall and are trying to make a call to someone on the other side… See your software documentation for how to solve this problem

to:

You are probably behind a firewall and are trying to make a call to someone on the other side... See your software documentation for how to solve this problem

Changed lines 1030-1033 from:

7.3 - I can establish a connection but no audio is transferred. What is wrong?

Make sure the two endpoints share a common codec.

to:

7.3 - I can establish a connection but no audio is transferred. What is wrong?

Make sure the two endpoints share a common codec.

Changed lines 1051-1054 from:

7.5 - I hear an echo when I speaking on a H.323 call - what is wrong?

The echo is most likely caused by audio coming out the speaker being picked up by the microphone. Either move the speaker and microphone further apart, reduce the speaker volume, or (best of all) use a headset or handset.

to:

7.5 - I hear an echo when I speaking on a H.323 call - what is wrong?

The echo is most likely caused by audio coming out the speaker being picked up by the microphone. Either move the speaker and microphone further apart, reduce the speaker volume, or (best of all) use a headset or handset.

Changed lines 1056-1057 from:

7.6 - How can I test whether my client is working?

to:

7.6 - How can I test whether my client is working?

Changed lines 1067-1068 from:

7.8 - Why am I getting bad audio even though I am using the G.711 codec?

to:

7.8 - Why am I getting bad audio even though I am using the G.711 codec?

Changed line 1072 from:
  • your machine is too busy, or has a congested network interface. Close down other network-based or sound-based applications on the same machine.
to:
  • your machine is too busy, or has a congested network interface. Close down other network-based, or sound-based applications on the same machine.
Changed lines 1103-1104 from:

e164.voxgratia.net e164.org e164.arpa

to:

e164.voxgratia.net e164.org e164.arpa

Changed lines 1125-1126 from:

OpenH323 and PWLib support the STUN protocol (see RFC 3489) for detecting and interoperating with NATs and firewalls. The STUN protocol can detect several different NAT and firewall configurations, but only some of these configurations support VoIP functions. The detected NAT types are as follows:

to:

OpenH323 and PWLib support the STUN protocol (see RFC 3489) for detecting and interoperating with NATs and firewalls. The STUN protocol can detect several different NAT and firewall configurations, but only some of these configurations support VoIP functions. The detected NAT types are as follows:

Changed line 1132 from:
SymmetricFirewallNoYesPublic[--Yes \\
to:
SymmetricFirewallNoYesPublic[--Yes \\
Changed lines 1140-1141 from:
Note 1: this NAT type requires the endpoint behind the NAT to send audio/video before it will receive any audio/video. This may not be possible in call cases.
to:
Note 1: this NAT type requires the endpoint behind the NAT to send audio/video before it will receive any audio/video. This may not be possible in call cases.
Changed line 1158 from:
to:
Changed line 1161 from:
to:
Changed lines 1164-1165 from:

A more precise answer is that without any modification, a standard OPAL/OpenH323 application on Linux that handles both signalling and media will hit the per-process file handle limit at about 80 simultaneous calls. By increasing the per-process file handle limit to 16384 (using "ulimit") the maximum call density is around 1300 calls. If the calls always use H.245 tunnelling, this will increase to 110 and 1800. If the calls are signalling only, the limits are 330 and 5400.

to:

A more precise answer is that without any modification, a standard OPAL/OpenH323 application on Linux that handles both signalling and media will hit the per-process file handle limit at about 80 simultaneous calls. By increasing the per-process file handle limit to 16384 (using "ulimit") the maximum call density is around 1300 calls. If the calls always use H.245 tunnelling, this will increase to 110 and 1800. If the calls are signalling only, the limits are 330 and 5400.

Changed line 1167 from:
to:
Changed line 1193 from:

An OCX control for OpenH323 that can be used in Visual Basic and MSIE. The page above seems to be out of date, but the latest sources can be found in the OpenH323 CVS in the contrib/DCOM directory.

to:

An OCX control for OpenH323 that can be used in Visual Basic and MSIE. The page above seems to be out of date, but the latest sources can be found in the OpenH323 CVS in the contrib/DCOM directory.

Changed line 1200 from:
to:
Changed lines 1204-1205 from:

The following commercial software is known to use OPAL or OpenH323:

to:

The following commercial software is known to use OPAL or OpenH323:

Changed line 1216 from:
to:
Changed lines 1226-1227 from:

A new project was started in March 2006 with the support of Stonevoice to restore video functionality to OpenMCU. In June 2006, OpenMCU 2.2.0 was released with full support for both audio and video including the H.261 and H.263 codecs.

to:

A new project was started in March 2006 with the support of Stonevoice to restore video functionality to OpenMCU. In June 2006, OpenMCU 2.2.0 was released with full support for both audio and video including the H.261 and H.263 codecs.

Changed lines 1269-1270 from:

It is these memory blocks that cause PMEMORY_CHECK to be a pain. It reports every one of these memory allocations as a memory leak even though they are not causing any problems. So why don't we just ensure that these memory blocks are cleaned up? Two reasons - firstly we don't have time to spend on issues that are not real problems; and secondly, it can be difficult to determine exactly when some of these memory blocks should actually be freed in order to avoid causing problems during shutdown. So we just choose to avoid the issue.

to:

It is these memory blocks that cause PMEMORY_CHECK to be a pain. It reports every one of these memory allocations as a memory leak even though they are not causing any problems. So why don't we just ensure that these memory blocks are cleaned up? Two reasons - firstly we don't have time to spend on issues that are not real problems; and secondly, it can be difficult to determine exactly when some of these memory blocks should actually be freed in order to avoid causing problems during shutdown. So we just choose to avoid the issue.

Changed lines 1304-1305 from:

The following command makes a SIP call to a remote endpoint without using a registrar.

to:

The following command makes a SIP call to a remote endpoint without using a registrar.

Changed lines 1322-1323 from:

There is also a nice description of the OPAL architecture in a thesis written by Hadeel H. Taha titled "Architecture for a SIP-Based Conferencing Server". This document can be found at http://swt198.swt.fh-mannheim.de/gossip/download/Thesis_Taha.pdf and there is also a copy at http://www.voxgratia.org/docs/opal/Thesis_Taha.pdf

to:

There is also a nice description of the OPAL architecture in a thesis written by Hadeel H. Taha titled "Architecture for a SIP-Based Conferencing Server". This document can be found at http://swt198.swt.fh-mannheim.de/gossip/download/Thesis_Taha.pdf and there is also a copy at http://www.voxgratia.org/docs/opal/Thesis_Taha.pdf.

Changed lines 1343-1344 from:
 -u userid -p \ 
password \ \\
to:
 -u userid -p password \ \\
Changed lines 1352-1353 from:
 simplopal -H -u userid --password password --register-sip proxy01.sipphone.com sip:number@proxy01.sipphone.com 
to:
 simplopal -H -u userid --password password --register-sip proxy01.sipphone.com sip:number@proxy01.sipphone.com
Changed line 1366 from:
25 August 2006Cleaned up reference to GnomeMeeting and some references to old versions in codec notes
to:
25 August 2006Cleaned up reference to GnomeMeeting and some references to old versions in codec notes
Changed line 1384 from:
31 March 2006Modified 1.6, 1.15, 2.6, 3.2, 3.8, 3.9, 4.1, 7.8, 9.2 10.1, 10.5 thanks to John Bradshaw \\
to:
31 March 2006Modified 1.6, 1.15, 2.6, 3.2, 3.8, 3.9, 4.1, 7.8, 9.2 10.1, 10.5 thanks to John Bradshaw \\
Changed line 1386 from:
24 March 2006Fixed typo in 7.4 and changed link in 7.6 thanks to John Bradshaw \\
to:
24 March 2006Fixed typo in 7.4 and changed link in 7.6 thanks to John Bradshaw \\
Changed line 1430 from:
7 September 2004Added 4.25 on include paths
to:
7 September 2004Added 4.25 on include paths
Changed line 1447 from:
20 July 2004Added 3.3 and 3.4 on accessing the CVS \\
to:
20 July 2004Added 3.3 and 3.4 on accessing the CVS \\
Changed line 1458 from:
18 June 2004Changed 3.1 to provide Vox Gratia download site \\
to:
18 June 2004Changed 3.1 to provide Vox Gratia download site \\
Changed line 1464 from:

Updated 3.3 and 3.4 on CVS tags \\

to:

Updated 3.3 and 3.4 on CVS tags \\

Changed line 1483 from:
6 April 2004Moved to Vox Gratia \\
to:
6 April 2004Moved to Vox Gratia \\
November 04, 2007, at 03:23 PM by Michel Stempin - Typo
Changed lines 468-469 from:

ZIP files are now created for recent released, but may not be available for some older version. Windows users can use tar.gz source archives without any problems if an archive program that handles end of line characters and binaries is used. We recommend WinZIP. See section 4.2, 4.7 and 4.8 for related proble

to:

ZIP files are now created for recent released, but may not be available for some older version. Windows users can use tar.gz source archives without any problems if an archive program that handles end of line characters and binaries is used. We recommend WinZIP. See section 4.2, 4.7 and 4.8 for related problems

November 04, 2007, at 03:21 PM by Michel Stempin - Typo in internal references
Changed lines 468-469 from:

ZIP files are now created for recent released, but may not be available for some older version. Windows users can use tar.gz source archives without any problems if an archive program that handles end of line characters and binaries is used. We recommend WinZIP. See section 4.2?, 4.7 and 4.8 for related proble

to:

ZIP files are now created for recent released, but may not be available for some older version. Windows users can use tar.gz source archives without any problems if an archive program that handles end of line characters and binaries is used. We recommend WinZIP. See section 4.2, 4.7 and 4.8 for related proble

Changed line 988 from:
to:

November 04, 2007, at 03:19 PM by Michel Stempin - Internal references, again
Changed lines 180-182 from:

The OpenH323 mailing list is hosted by SourceForge and maintained by Quicknet Technologies. Problems regarding the operation of the list should be sent to Dave Erhart <daviderhart@sourforge.net>. See 2.1]] and 2.3 for information on subscribing to the lis

to:

The OpenH323 mailing list is hosted by SourceForge and maintained by Quicknet Technologies. Problems regarding the operation of the list should be sent to Dave Erhart <daviderhart@sourforge.net>. See 2.1 and 2.3 for information on subscribing to the lis

Changed lines 204-206 from:

And yes, it is known that that the openh323.org only provides these old versions of the code. See 1.4]] for more informati

to:

And yes, it is known that that the openh323.org only provides these old versions of the code. See 1.4 for more informati

Changed lines 443-445 from:

The latest source code is always in the CVS (see 3.4]] below), but the Ekiga team maintains very recent source code tarballs for Linux at http://snapshots.seconix.com and [[http://snapshots.voxgratia.org|http://snapshots.voxgratia.org

to:

The latest source code is always in the CVS (see 3.4 below), but the Ekiga team maintains very recent source code tarballs for Linux at http://snapshots.seconix.com and [[http://snapshots.voxgratia.org|http://snapshots.voxgratia.org

Changed lines 456-458 from:

See 3.7]] below on how to find a particular version of the source code in the C

to:

See 3.7 below on how to find a particular version of the source code in the C

Changed lines 463-465 from:

See 3.3]] above for information on development tags available in the CVS, and 3.7 below on how to find a particular version of the source cod

to:

See 3.3 above for information on development tags available in the CVS, and 3.7 below on how to find a particular version of the source cod

Changed lines 468-470 from:

ZIP files are now created for recent released, but may not be available for some older version. Windows users can use tar.gz source archives without any problems if an archive program that handles end of line characters and binaries is used. We recommend WinZIP. See section 4.2]], 4.7 and 4.8 for related proble

to:

ZIP files are now created for recent released, but may not be available for some older version. Windows users can use tar.gz source archives without any problems if an archive program that handles end of line characters and binaries is used. We recommend WinZIP. See section 4.2?, 4.7 and 4.8 for related proble

Changed lines 478-480 from:

If the version you require is not available on any of the download sites (see 3.1]] above) then you will have to extract it from the CVS repository (see 3.4 above

to:

If the version you require is not available on any of the download sites (see 3.1 above) then you will have to extract it from the CVS repository (see 3.4 above

Changed lines 525-526 from:

  • You need Bison and Flex installed as well as a compiler and associated tools. We recommend gcc and Make for Unix platforms, and Microsoft VS.net 2003 for Windows although other environments are supported. Note that the bison and flex package provided as part of the Windows build instructions (see 4.5]]) must be installed in C:\TOOLS unless you seriously know what you are doin
to:
  • You need Bison and Flex installed as well as a compiler and associated tools. We recommend gcc and Make for Unix platforms, and Microsoft VS.net 2003 for Windows although other environments are supported. Note that the bison and flex package provided as part of the Windows build instructions (see 4.5) must be installed in C:\TOOLS unless you seriously know what you are doin
Changed lines 535-537 from:

If you have this problem, you most likely will have the problems described in 4.7]] and 4.8 as wel

to:

If you have this problem, you most likely will have the problems described in 4.7 and 4.8 as wel

Changed lines 571-573 from:

The file ptbuildopts.h is created from ptbuildopts.h.in by the pwlib/configure.exe program. If this step does not occur, then ptbuildopts.h is not created and the build process will fail. You need to determine why this is happening. See section 4.2]] above or section 4.25 for a possible explanatio

to:

The file ptbuildopts.h is created from ptbuildopts.h.in by the pwlib/configure.exe program. If this step does not occur, then ptbuildopts.h is not created and the build process will fail. You need to determine why this is happening. See section 4.2 above or section 4.25 for a possible explanatio

Changed lines 576-578 from:

This indicates that the file pwlib/configure.exe program cannot be executed, probably because it is missing or corrupted. Download a new version and make sure it is a working Windows executable. See section 4.2]] above for a possible explanati

to:

This indicates that the file pwlib/configure.exe program cannot be executed, probably because it is missing or corrupted. Download a new version and make sure it is a working Windows executable. See section 4.2 above for a possible explanati

Changed lines 581-583 from:

This is a problem in older versions of PWLib, such as version 1.5.3. Download and use a later version of PWLib downloaded from SourceForge (see 3.1]])

to:

This is a problem in older versions of PWLib, such as version 1.5.3. Download and use a later version of PWLib downloaded from SourceForge (see 3.1)

Changed lines 637-639 from:

If you are reporting a bug without a code patch, then please use the bug tracker as described in 4.10]]

to:

If you are reporting a bug without a code patch, then please use the bug tracker as described in 4.10

Changed lines 649-651 from:

This is probably because you have not upgraded your MSVC 6 header files - see 4.17]] abo

to:

This is probably because you have not upgraded your MSVC 6 header files - see 4.17 abo

Changed lines 675-677 from:

As always, the original source code is still available in the CVS but may not be actively maintained. See 3.10]] for more informatio

to:

As always, the original source code is still available in the CVS but may not be actively maintained. See 3.10 for more informatio

Changed lines 719-721 from:

These errors are probably due some flag differences in the bison pre-processor, but the solution is very simple. Simply upgrade your code to at least the last Janus release version (as of 1 Nov 2004, this was Janus patch 4) because that version (and all subsequent versions) no longer require the ASN parser to be compiled. See 4.21]] for more informati

to:

These errors are probably due some flag differences in the bison pre-processor, but the solution is very simple. Simply upgrade your code to at least the last Janus release version (as of 1 Nov 2004, this was Janus patch 4) because that version (and all subsequent versions) no longer require the ASN parser to be compiled. See 4.21 for more informati

Changed lines 1048-1050 from:

NetMeeting contains proprietary codecs such as G.723.1 that may be available on some OpenH323 clients. For example, MyPhone (see http://myphone.sourceforge.net) contains code that allows use of the MS-ACM G.723.1 codec on a Windows client. See 5.4]] for more informatio

to:

NetMeeting contains proprietary codecs such as G.723.1 that may be available on some OpenH323 clients. For example, MyPhone (see http://myphone.sourceforge.net) contains code that allows use of the MS-ACM G.723.1 codec on a Windows client. See 5.4 for more informatio

November 04, 2007, at 03:08 PM by Michel Stempin - Fixed internal page references
Changed lines 4-9 from:
to:
Changed lines 11-13 from:
to:
Changed lines 15-19 from:
to:
Changed lines 21-37 from:
to:
Changed lines 39-50 from:
to:
Changed lines 52-87 from:

4.1 - The code does not compile - what is the problem?
4.2 - Microsoft Visual Studio will not load the DSP and DSW files provided with OpenH323
4.3 - I know the OpenLDAP/OpenSSL/Foobah library on my system is broken, but OpenH323 uses it anyway. How do I prevent this?
4.4 - How do I cross compile OpenH323 for another platform?
4.5 - Are there detailed instructions for building OpenH323/PWLib on Windows?
4.6 - Can I compile OpenH323/PWLib using VS.NET 2003, VS.net 2005 and Visual C++ 2005 Express Edition?
4.7 - How do I fix the Windows build error "Cannot open include file: 'ptbuildopts.h': No such file or directory"?
4.8 - How do I fix the Windows build error "Configuring Build Options \ This program cannot run in DOS mode \ Error executing c:\windows\system32\cmd.exe" ?
4.9 - How do I fix the errors in vfakeio.cxx starting at line 411 like "newline in constant", "too many characters in constant", "syntax error: string"?
4.10 - How do I report a bug in the code?
4.11 - How do I fix errors about a missing function called PIsDescendant or IsDescendant ?
4.12 - How do I fix errors about missing include files like "gsmcodec.h" or "lpc10codec.h"
4.13 - How do I fix errors like "Cannot open source file: getdate_tab.c': No such file or directory"?
4.14 - How do I compile OpenH323 on Solaris?
4.15 - How do I make the code smaller?
4.16 - How do I submit patches to the code?
4.17 - How do I fix the following error on when compiling using MSVC 6 "WARNING: the following file requires upgrading: \ C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\XTREE \ Please run 'msvc6chk upgrade' to upgrade this file"?
4.18 - How do I stop my program from immediately crashing with a dialog saying "The application failed to initialise properly. Click on OK to terminate the application" when I use the DLL versions of PWLib and OpenH323, even though the statically linked versions work OK?
4.19 - How do I fix the following error on Windows when building PTLIB.DLL/OPENH323.DLL "dllmain.obj : fatal error LNK1202: "d:\pwlib.msvc\lib\ptlib.pdb" is missing debugging information for referencing module"?
4.20 - How do I fix the following error when compiling OpenH323 "This program cannot be run in DOS mode. \ Error executing c:\windows\system32\cmd.exe. \ asnparser.exe - 1 error(s), 0 warning(s)" ?
4.21 - I am compiling Pandora or Janus patch 4 - where is the ASNParser?
4.22 - Where is pwrc, openphone and all of GUI classes?
4.23 - How do I fix warnings about PVXMLSession and OpalVXMLSession not found compiling the opennivr/vxmltest/woomera programs?
4.24 - The configure program for PWLib or OpenH323 is finding the wrong version of a library - how do I stop this?
4.25 - I used to be able to compile PWLib without any problems, but now I get warnings like this "Please remove pwlib\include\ptlib\msos from the tool include path and from the pre-processor options for this project" - how do I fix this?
4.26 - How do I fix errors compiling asn_grammar.y/asn_grammar.cxx?
4.27 - When I compile pwlib I get warnings like "../common/getdate.y: conflicts: 8 shift/reduce, 18 reduce/reduce" - is this normal?
4.28 - When I compile pwlib I get a warning like "In static member function `static std::ostream& PTrace::End(std::ostream&)':warning: unused variable 'rb'" - is this normal?
4.29 - How do I fix link errors about missing functions when compiling DLLs on Windows?
4.30 - How do I link applications statically in Windows?
4.31 - How do I link applications statically on Unix?
4.32 - How do I stop configure from finding the wrong header files on Windows?
4.33 - How do fix errors about missing MSVC80.DLL or MSVCR80.DLL files when debugging using Visual C++ 2005 Express Edition?
4.34 - How do I fix gcc errors about "PAtomicInteger" when compiling OpenH323 or OPAL?
4.35 - I cannot find the Console Components library files (ptclib.lib and ptclibd.lib) in recent builds of PWLib. Where are they?

to:

4.1 - The code does not compile - what is the problem?
4.2 - Microsoft Visual Studio will not load the DSP and DSW files provided with OpenH323
4.3 - I know the OpenLDAP/OpenSSL/Foobah library on my system is broken, but OpenH323 uses it anyway. How do I prevent this?
4.4 - How do I cross compile OpenH323 for another platform?
4.5 - Are there detailed instructions for building OpenH323/PWLib on Windows?
4.6 - Can I compile OpenH323/PWLib using VS.NET 2003, VS.net 2005 and Visual C++ 2005 Express Edition?
4.7 - How do I fix the Windows build error "Cannot open include file: 'ptbuildopts.h': No such file or directory"?
4.8 - How do I fix the Windows build error "Configuring Build Options \ This program cannot run in DOS mode \ Error executing c:\windows\system32\cmd.exe" ?
4.9 - How do I fix the errors in vfakeio.cxx starting at line 411 like "newline in constant", "too many characters in constant", "syntax error: string"?
4.10 - How do I report a bug in the code?
4.11 - How do I fix errors about a missing function called PIsDescendant or IsDescendant ?
4.12 - How do I fix errors about missing include files like "gsmcodec.h" or "lpc10codec.h"
4.13 - How do I fix errors like "Cannot open source file: getdate_tab.c': No such file or directory"?
4.14 - How do I compile OpenH323 on Solaris?
4.15 - How do I make the code smaller?
4.16 - How do I submit patches to the code?
4.17 - How do I fix the following error on when compiling using MSVC 6 "WARNING: the following file requires upgrading: \ C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\XTREE \ Please run 'msvc6chk upgrade' to upgrade this file"?
4.18 - How do I stop my program from immediately crashing with a dialog saying "The application failed to initialise properly. Click on OK to terminate the application" when I use the DLL versions of PWLib and OpenH323, even though the statically linked versions work OK?
4.19 - How do I fix the following error on Windows when building PTLIB.DLL/OPENH323.DLL "dllmain.obj : fatal error LNK1202: "d:\pwlib.msvc\lib\ptlib.pdb" is missing debugging information for referencing module"?
4.20 - How do I fix the following error when compiling OpenH323 "This program cannot be run in DOS mode. \ Error executing c:\windows\system32\cmd.exe. \ asnparser.exe - 1 error(s), 0 warning(s)" ?
4.21 - I am compiling Pandora or Janus patch 4 - where is the ASNParser?
4.22 - Where is pwrc, openphone and all of GUI classes?
4.23 - How do I fix warnings about PVXMLSession and OpalVXMLSession not found compiling the opennivr/vxmltest/woomera programs?
4.24 - The configure program for PWLib or OpenH323 is finding the wrong version of a library - how do I stop this?
4.25 - I used to be able to compile PWLib without any problems, but now I get warnings like this "Please remove pwlib\include\ptlib\msos from the tool include path and from the pre-processor options for this project" - how do I fix this?
4.26 - How do I fix errors compiling asn_grammar.y/asn_grammar.cxx?
4.27 - When I compile pwlib I get warnings like "../common/getdate.y: conflicts: 8 shift/reduce, 18 reduce/reduce" - is this normal?
4.28 - When I compile pwlib I get a warning like "In static member function `static std::ostream& PTrace::End(std::ostream&)':warning: unused variable 'rb'" - is this normal?
4.29 - How do I fix link errors about missing functions when compiling DLLs on Windows?
4.30 - How do I link applications statically in Windows?
4.31 - How do I link applications statically on Unix?
4.32 - How do I stop configure from finding the wrong header files on Windows?
4.33 - How do fix errors about missing MSVC80.DLL or MSVCR80.DLL files when debugging using Visual C++ 2005 Express Edition?
4.34 - How do I fix gcc errors about "PAtomicInteger" when compiling OpenH323 or OPAL?
4.35 - I cannot find the Console Components library files (ptclib.lib and ptclibd.lib) in recent builds of PWLib. Where are they?

Changed lines 89-106 from:
to:
Changed lines 108-117 from:
to:
Changed lines 119-134 from:
to:
Changed lines 136-140 from:
to:
Changed lines 142-145 from:
to:
Changed lines 147-154 from:
to:
Changed lines 159-162 from:
to:

1. GENERAL

1.1 - Where can I find the FAQ?

Changed lines 167-168 from:
to:

1.2 - My question is not answered by the FAQ, how can I make a suggestion?

Changed lines 172-173 from:
to:

1.3 - Who maintains the FAQ?

Changed lines 177-180 from:

1.4 - Who owns and runs the OpenH323 mailing list and OpenH323 web site, and how do I contact them if I am having problems?

The OpenH323 mailing list is hosted by SourceForge and maintained by Quicknet Technologies. Problems regarding the operation of the list should be sent to Dave Erhart <daviderhart@sourforge.net>. See 2.1 and 2.3 for information on subscribing to the list.

to:

1.4 - Who owns and runs the OpenH323 mailing list and OpenH323 web site, and how do I contact them if I am having problems?

The OpenH323 mailing list is hosted by SourceForge and maintained by Quicknet Technologies. Problems regarding the operation of the list should be sent to Dave Erhart <daviderhart@sourforge.net>. See 2.1]] and 2.3 for information on subscribing to the lis

Changed lines 187-188 from:
to:

1.5 - The FAQ describes something that sounds like my problem, and it refers to a document that I don't really understand. I don't have time for all of this - can I just email someone or contact them via IM and get them to explain it all to me?

Changed lines 200-201 from:
to:

1.6 - I'm using pwlib 1.12.0 and openh323 1.5.2 from the openh323.org site, and I have a problem. Will anyone help me?

Changed lines 205-207 from:

And yes, it is known that that the openh323.org only provides these old versions of the code. See 1.4 for more information

1.7 - Not used

to:

And yes, it is known that that the openh323.org only provides these old versions of the code. See 1.4]] for more informati

1.7 - Not used

Changed lines 211-213 from:
to:

1.8 - What is OPAL?

See 10.1

Changed lines 217-218 from:
to:

1.9 - What are the development plans for OpenH323 and OPAL?

Changed lines 222-223 from:
to:

1.10 - What were the H.323 security vulnerabilities reported by the NISCC, and how do they affect OpenH323?

Changed lines 231-232 from:
to:

1.11 - What is the status of the OpenMCU program?

Changed lines 242-243 from:
to:

1.12 - What is the license used for PWLib, OpenH323 and OPAL, and why wasn't the GPL used?

Changed lines 249-250 from:
to:

1.13 - What restrictions are placed on the software can I combine with PWLib, OpenH323 and OPAL?

Changed lines 254-255 from:
to:

1.14 - What license restrictions are placed on changes I make to PWLib, OpenH323 and OPAL?

Changed lines 279-280 from:
to:

1.15 - Where did PWLib, OpenH323 and OPAL come from, and who is responsible for it now?

Changed lines 309-312 from:
to:

2. USING THE OPENH323 LIST

2.1 - How do I subscribe to the mailing list?

Changed lines 319-320 from:
to:

2.2 - How do I unsubscribe from the mailing list?

Changed lines 326-327 from:
to:

2.3 - How do I make a posting to the mailing list?

Changed lines 331-332 from:
to:

2.4 - What is the mailing list used for?

Changed lines 336-337 from:
to:

2.5 - What is the mailing list *not* used for?

Changed lines 346-347 from:
to:

2.6 - There is too much traffic on the mailing list. Is there a digest?

Changed lines 353-354 from:
to:

2.7 - Is there an searchable archive of the list available?

Changed lines 360-361 from:
to:

2.8 - Are there any rules?

Changed lines 365-366 from:
to:

2.9 - Who enforces the rules?

Changed lines 370-372 from:
to:

2.10 - How can I ensure someone will answer my question?

Changed lines 383-384 from:
to:

2.11 - But I really need an URGENT answer to my question?

Changed lines 394-395 from:
to:

2.12 - Who answers questions on the list?

Changed lines 399-400 from:
to:

2.13 - I want to help by answering questions? How do I do this?

Changed lines 404-407 from:
to:

2.14 - Not used

2.15 - Why aren't there separate lists for users and developers like other projects?

Changed lines 412-413 from:
to:

2.16 - Can I ask questions about how to use/debug/understand another H.323 stack?

Changed lines 421-424 from:
to:

3. DOWNLOADING CODE

3.1 - Where can I download source code from?

Changed lines 433-434 from:
to:

3.2 - Where can I download binaries from?

Changed lines 442-445 from:

3.3 - Where can I get the very latest source code from?

The latest source code is always in the CVS (see 3.4 below), but the Ekiga team maintains very recent source code tarballs for Linux at http://snapshots.seconix.com and http://snapshots.voxgratia.org

to:

3.3 - Where can I get the very latest source code from?

The latest source code is always in the CVS (see 3.4]] below), but the Ekiga team maintains very recent source code tarballs for Linux at http://snapshots.seconix.com and [[http://snapshots.voxgratia.org|http://snapshots.voxgratia.org

Changed lines 459-462 from:

See 3.7 below on how to find a particular version of the source code in the CVS

3.4 - How do I access the CVS repository?

to:

See 3.7]] below on how to find a particular version of the source code in the C

3.4 - How do I access the CVS repository?

Changed lines 467-474 from:

See 3.3 above for information on development tags available in the CVS, and 3.7 below on how to find a particular version of the source code.

3.5 - Where can I get ZIP versions of the source archives

ZIP files are now created for recent released, but may not be available for some older version. Windows users can use tar.gz source archives without any problems if an archive program that handles end of line characters and binaries is used. We recommend WinZIP. See section 4.2, 4.7 and 4.8 for related problems

3.6 - How do I know what version to download?

to:

See 3.3]] above for information on development tags available in the CVS, and 3.7 below on how to find a particular version of the source cod

3.5 - Where can I get ZIP versions of the source archives

ZIP files are now created for recent released, but may not be available for some older version. Windows users can use tar.gz source archives without any problems if an archive program that handles end of line characters and binaries is used. We recommend WinZIP. See section 4.2]], 4.7 and 4.8 for related proble

3.6 - How do I know what version to download?

Changed lines 481-484 from:

3.7 - Where can I download a particular version of the code?

If the version you require is not available on any of the download sites (see 3.1 above) then you will have to extract it from the CVS repository (see 3.4 above).

to:

3.7 - Where can I download a particular version of the code?

If the version you require is not available on any of the download sites (see 3.1]] above) then you will have to extract it from the CVS repository (see 3.4 above

Changed lines 489-492 from:

3.8 - Why isn't the latest code and information on openh323.org, and why don't you do something about it?

The owners of the openh323.org domain name (Quicknet Technologies, Inc) maintain the www.openh323.org web site and the openh323.org mailing list. See 1.4for how to contact Quicknet.

to:

3.8 - Why isn't the latest code and information on openh323.org, and why don't you do something about it?

The owners of the openh323.org domain name (Quicknet Technologies, Inc) maintain the www.openh323.org web site and the openh323.org mailing list. See 1.4 ]]for how to contact Quickne

Changed lines 497-498 from:
to:

3.9 - What are Janus, Pandora, Mimas, Atlas and Phobos?

Changed lines 504-505 from:
to:

3.10 - Where can I download the old PWLib GUI code?

Changed lines 509-510 from:
to:

3.11 - Why is the configure.in file is missing when I extract source code from the CVS?

Changed lines 522-525 from:
to:

4. COMPILING THE CODE

4.1 - The code does not compile - what is the problem?

Changed lines 532-533 from:
  • You need Bison and Flex installed as well as a compiler and associated tools. We recommend gcc and Make for Unix platforms, and Microsoft VS.net 2003 for Windows although other environments are supported. Note that the bison and flex package provided as part of the Windows build instructions (see 4.5) must be installed in C:\TOOLS unless you seriously know what you are doing.
to:

  • You need Bison and Flex installed as well as a compiler and associated tools. We recommend gcc and Make for Unix platforms, and Microsoft VS.net 2003 for Windows although other environments are supported. Note that the bison and flex package provided as part of the Windows build instructions (see 4.5]]) must be installed in C:\TOOLS unless you seriously know what you are doin
Changed lines 536-537 from:
to:

4.2 - Microsoft Visual Studio will not load the DSP and DSW files provided with OpenH323

Changed lines 543-546 from:

If you have this problem, you most likely will have the problems described in 4.7 and 4.8 as well.

4.3 - I know the OpenLDAP/OpenSSL/Foobah library on my system is broken, but OpenH323 uses it anyway. How do I prevent this?

to:

If you have this problem, you most likely will have the problems described in 4.7]] and 4.8 as wel

4.3 - I know the OpenLDAP/OpenSSL/Foobah library on my system is broken, but OpenH323 uses it anyway. How do I prevent this?

Changed lines 551-552 from:
to:

4.4 - How do I cross compile OpenH323 for another platform?

Changed lines 561-562 from:
to:

4.5 - Are there detailed instructions for building OPAL, OpenH323 and PWLib on Windows?

Changed lines 566-567 from:
to:

4.6 - Can I compile OpenH323/PWLib using VS.NET 2003, VS.net 2005 and Visual C++ 2005 Express Edition?

Changed lines 577-590 from:

4.7 - How do I fix the Windows build error "Cannot open include file: 'ptbuildopts.h': No such file or directory"?

The file ptbuildopts.h is created from ptbuildopts.h.in by the pwlib/configure.exe program. If this step does not occur, then ptbuildopts.h is not created and the build process will fail. You need to determine why this is happening. See section 4.2 above or section 4.25 for a possible explanations

4.8 - How do I fix the Windows build error "Configuring Build Options \ This program cannot run in DOS mode Error executing c:\windows\system32\cmd.exe" ?

This indicates that the file pwlib/configure.exe program cannot be executed, probably because it is missing or corrupted. Download a new version and make sure it is a working Windows executable. See section 4.2 above for a possible explanation

4.9 - How do I fix the errors in vfakeio.cxx starting at line 411 like "newline in constant", "too many characters in constant", "syntax error: string"?

This is a problem in older versions of PWLib, such as version 1.5.3. Download and use a later version of PWLib downloaded from SourceForge (see 3.1).

4.10 - How do I report a bug in the code?

to:

4.7 - How do I fix the Windows build error "Cannot open include file: 'ptbuildopts.h': No such file or directory"?

The file ptbuildopts.h is created from ptbuildopts.h.in by the pwlib/configure.exe program. If this step does not occur, then ptbuildopts.h is not created and the build process will fail. You need to determine why this is happening. See section 4.2]] above or section 4.25 for a possible explanatio

4.8 - How do I fix the Windows build error "Configuring Build Options \ This program cannot run in DOS mode Error executing c:\windows\system32\cmd.exe" ?

This indicates that the file pwlib/configure.exe program cannot be executed, probably because it is missing or corrupted. Download a new version and make sure it is a working Windows executable. See section 4.2]] above for a possible explanati

4.9 - How do I fix the errors in vfakeio.cxx starting at line 411 like "newline in constant", "too many characters in constant", "syntax error: string"?

This is a problem in older versions of PWLib, such as version 1.5.3. Download and use a later version of PWLib downloaded from SourceForge (see 3.1]])

4.10 - How do I report a bug in the code?

Changed lines 602-603 from:

If you have a patch that adds a new feature, then please use the patch tracker as described in 4.16

to:

If you have a patch that adds a new feature, then please use the patch tracker as described in 4.16

Changed lines 605-606 from:
to:

4.11 - How do I fix errors about a missing function called PIsDescendant or IsDescendant ?

Changed lines 616-617 from:
to:

4.12 - How do I fix errors about missing include files like "gsmcodec.h" or "lpc10codec.h"?

Changed lines 621-622 from:
to:

4.13 - How do I fix errors like "Cannot open source file: getdate_tab.c': No such file or directory"?

Changed lines 626-627 from:
to:

4.14 - How do I compile OpenH323 on Solaris?

Changed lines 631-632 from:
to:

4.15 - How do I make the code smaller?

Changed lines 644-645 from:
to:

4.16 - How do I submit patches to the code?

Changed lines 649-652 from:
to:

If you are reporting a bug without a code patch, then please use the bug tracker as described in 4.10]]

4.17 - How do I fix the following error on when compiling using MSVC 6 "WARNING: the following file requires upgrading: C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\XTREE \ Please run 'msvc6chk upgrade' to upgrade this file"?

Changed lines 659-664 from:
to:

4.18 - How do I stop my program from immediately crashing with a dialog saying "The application failed to initialise properly. Click on OK to terminate the application" when I use the DLL versions of PWLib and OpenH323, even though the statically linked versions work OK?

This is probably because you have not upgraded your MSVC 6 header files - see 4.17]] abo

4.19 - How do I fix the following error on Windows when building PTLIB.DLL/OPENH323.DLL "dllmain.obj : fatal error LNK1202: "d:\pwlib.msvc\lib\ptlib.pdb" is missing debugging information for referencing module"?

Changed lines 672-673 from:
to:

4.20 - How do I fix the following error when compiling OpenH323 "This program cannot be run in DOS mode. Error executing c:\windows\system32\cmd.exe. \ asnparser.exe - 1 error(s), 0 warning(s)" ?

Changed lines 677-678 from:
to:

4.21 - I am compiling Pandora or Janus patch 4 - where is the ASNParser?

Changed lines 684-685 from:
to:

4.22 - Where is pwrc, openphone and all of GUI classes?

Changed lines 689-692 from:

As always, the original source code is still available in the CVS but may not be actively maintained. See 3.10 for more information

4.23 - How do I fix warnings about PVXMLSession and OpalVXMLSession not found compiling the opennivr/vxmltest/woomera programs?

to:

As always, the original source code is still available in the CVS but may not be actively maintained. See 3.10]] for more informatio

4.23 - How do I fix warnings about PVXMLSession and OpalVXMLSession not found compiling the opennivr/vxmltest/woomera programs?

Changed lines 699-700 from:
to:

4.24 - The Windows configure process for PWLib or OpenH323 is finding the wrong version of a library - how do I stop this?

Changed lines 710-711 from:
to:

4.25 - I used to be able to compile PWLib without any problems, but now I get warnings like this "Please remove pwlib\include\ptlib\msos from the tool include path and from the pre-processor options for this project" - how do I fix this?

Changed lines 719-720 from:
to:

4.26 - How do I fix errors compiling asn_grammar.y/asn_grammar.cxx?

Changed lines 734-737 from:

These errors are probably due some flag differences in the bison pre-processor, but the solution is very simple. Simply upgrade your code to at least the last Janus release version (as of 1 Nov 2004, this was Janus patch 4) because that version (and all subsequent versions) no longer require the ASN parser to be compiled. See 4.21 for more information

4.27 - When I compile pwlib I get warnings like "../common/getdate.y: conflicts: 8 shift/reduce, 18 reduce/reduce" - is this normal?

to:

These errors are probably due some flag differences in the bison pre-processor, but the solution is very simple. Simply upgrade your code to at least the last Janus release version (as of 1 Nov 2004, this was Janus patch 4) because that version (and all subsequent versions) no longer require the ASN parser to be compiled. See 4.21]] for more informati

4.27 - When I compile pwlib I get warnings like "../common/getdate.y: conflicts: 8 shift/reduce, 18 reduce/reduce" - is this normal?

Changed lines 742-743 from:
to:

4.28 - When I compile pwlib I get a warning like "In static member function `static std::ostream& PTrace::End(std::ostream&)': warning: unused variable 'rb'" - is this normal?

Changed lines 747-748 from:
to:

4.29 - How do I fix link errors about missing functions when compiling DLLs on Windows?

Changed lines 756-757 from:
to:

4.30 - How do I link OpenH323, PWLib or OPAL applications statically in Windows?

Changed lines 772-773 from:
to:

4.31 - How do I link OpenH323, PWLib or OPAL applications statically on Unix?

Changed lines 781-782 from:
to:

4.32 - How do I stop configure from finding the wrong header files on Windows?

Changed lines 801-802 from:
to:

4.33 - How do fix errors about missing "MSVC80.DLL" or "MSVCR80.DLL" file when debugging OPAL programs using Visual C++ 2005 Express Edition?

Changed lines 814-815 from:
to:

4.34 - How do I fix gcc errors about "PAtomicInteger" when compiling OpenH323 or OPAL?

Changed lines 821-822 from:
to:

4.35 - I cannot find the Console Components library files (ptclib.lib and ptclibd.lib) in recent builds of PWLib. Where are they?

Changed lines 828-831 from:
to:

5. CODECS

5.1 - Why is there no G.723.1/G.729 codec in OPAL or OpenH323?

Changed lines 836-837 from:
to:

5.2 - Can I use the ITU reference code for G.723.1 and G.729?

Changed lines 843-844 from:
to:

5.3 - Where can I get licensed G.723.1 and G.729 codec implementations?

Changed lines 852-853 from:
to:

5.4 - Can I use the Microsoft ACM G.723.1 codec in my Windows program?

Changed lines 857-858 from:
to:

5.5 - How do I use the H.263 video codec with NetMeeting?

Changed lines 866-867 from:
to:

5.6 - How do I add my own audio or video codec to Opal or OpenH323?

Changed lines 873-874 from:
to:

5.7 - What audio codecs are supported by OpenH323?

Changed lines 886-887 from:
to:

5.8 - What video codecs are supported by OpenH323?

Changed lines 893-894 from:
to:

5.9 - Where can I get more information on plugin codecs?

Changed lines 898-899 from:
to:

5.10 - Why does a call using a compressed audio codec use much more bandwidth than expected?

Changed lines 905-906 from:
to:

5.11 - What is the effect of changing the number of frames per packet for an audio codec?

Changed lines 912-921 from:
to:

5.12 - Why am I getting bad audio quality even though I am using G.711?

See 7.8

5.13 - Why am I getting bad audio when using the G.729 codec?

See 7.9

5.14 - How do I get the same codec in each direction when making a call?

Changed lines 935-936 from:
to:

5.15 - Why are there so many Speex capabilities?

Changed lines 950-951 from:
to:

5.16 - Does OpenH323 support wide-band codecs?

Changed lines 955-956 from:
to:

5.17 - Can I use the H.263 video codec in my program?

Changed lines 976-979 from:
to:

6. DOCUMENTATION

6.1 - Where can I get a design document for OpenH323?

Changed lines 984-985 from:
to:

6.2 - Where can I find the help file for OpenPhone?

Changed lines 989-990 from:
to:

6.3 - Where can I find user manuals for the Openh323 programs?

Changed lines 994-995 from:
to:

6.4 - Is there a programming tutorial on OpenH323?

Changed lines 999-1000 from:
to:

6.5 - Is there documentation on audio codec plugins?

Changed lines 1004-1005 from:
to:

#Q#6_6

6.6 - Where can I get documentation on the API for PWLib and OpenH323?

Changed lines 1013-1014 from:
to:

6.7 - What documentation is available for OpenH323?

Changed lines 1020-1021 from:
to:

6.8 - Where can I find the specification documents for H.323?

Changed lines 1025-1026 from:
to:

6.9 - Is there a document on the configure.exe program used for configuring OpenH323 and PWLib on Windows?

Changed lines 1032-1035 from:
to:

7. USING OPENH323

7.1 - When I make a call I get audio in only one direction. What is the problem?

Changed lines 1040-1041 from:
to:

7.2 - I am behind a firewall and cannot receive incoming calls? Why not?

Changed lines 1045-1046 from:
to:

7.3 - I can establish a connection but no audio is transferred. What is wrong?

Changed lines 1050-1051 from:
to:

7.4 - How do I call NetMeeting with an OpenH323 client?

Changed lines 1064-1067 from:

NetMeeting contains proprietary codecs such as G.723.1 that may be available on some OpenH323 clients. For example, MyPhone (see http://myphone.sourceforge.net) contains code that allows use of the MS-ACM G.723.1 codec on a Windows client. See 5.4 for more information

7.5 - I hear an echo when I speaking on a H.323 call - what is wrong?

to:

NetMeeting contains proprietary codecs such as G.723.1 that may be available on some OpenH323 clients. For example, MyPhone (see http://myphone.sourceforge.net) contains code that allows use of the MS-ACM G.723.1 codec on a Windows client. See 5.4]] for more informatio

7.5 - I hear an echo when I speaking on a H.323 call - what is wrong?

Changed lines 1072-1073 from:
to:

7.6 - How can I test whether my client is working?

Changed lines 1077-1082 from:
to:

7.7 - I'm sure I have found a problem with OpenH323 - how do I report it?

See 4.10

7.8 - Why am I getting bad audio even though I am using the G.711 codec?

Changed lines 1093-1094 from:
to:

7.9 - Why am I getting bad audio when using the G.729 codec?

Changed lines 1098-1099 from:
to:

7.10 - When I start OpenGK/OpenMCU2/OpenIVR as a windows service process it won't start due to "error 1053" or similar. How do I fix this problem?

Changed lines 1109-1110 from:
to:

7.11 - How does OpenH323 support ENUM dialling?

Changed lines 1124-1125 from:
to:

7.12 - I am getting "Blocked" or other incorrect results when using STUN - how do I fix this?

Changed lines 1139-1140 from:
to:

7.13 - What are the different firewall types reported by STUN, and what do they mean?

Changed lines 1161-1162 from:
to:

7.14 - Why I am seeing messages like "RTP Packet from SSRC=xxxxxxxx ignored, expecting SSRC=yyyyyyyy" with audio only in one direction?

Changed lines 1176-1177 from:
to:

7.15 - How many simultaneous calls can OPAL/OpenH323 handle?

Changed lines 1191-1194 from:
to:

8. OPAL and OpenH323 applications

8.1 - What other projects use OpenH323?

Changed lines 1218-1219 from:
to:

8.2 What commercial and closed-source software uses Opal and OpenH323?

Changed lines 1234-1235 from:
to:

8.3 - What is the status of the OpenMCU program?

Changed lines 1245-1246 from:
to:

8.4 - How do I use OpenH323 with Asterisk?

Changed lines 1259-1262 from:
to:

9. Programming

9.1 How do I create a program that uses OpenH323 for call control, but uses an external RTP device?

Changed lines 1266-1267 from:
to:

9.2 - How do get a list of the codecs supported by OpenH323?

Changed lines 1275-1276 from:
to:

9.3 - When I enable PMEMORY_CHECK, I see all sorts of memory leaks reported. How do I fix these?

Changed lines 1290-1293 from:
to:

10. OPAL

10.1 - What is OPAL?

Changed lines 1300-1301 from:
to:

10.2 - Where can I download OPAL?

Changed lines 1307-1308 from:
to:

10.3 - How do I compile OPAL?

Changed lines 1312-1313 from:
to:

10.4 - How do I use SimpleOPAL to make a call?

Changed lines 1329-1330 from:
to:

10.5 - Is OpenH323 now obsolete or deprecated now that OPAL is released?

Changed lines 1334-1335 from:
to:

10.6 - Where can I find documentation on OPAL?

Changed lines 1341-1342 from:
to:

10.7 How do I use OPAL to make a call to a telephone number?

November 04, 2007, at 01:39 PM by Michel Stempin - Ported from Vox Gratia FAQ to OpalVoip Wiki
Changed lines 1-3 from:

See the OpenH323 FAQ

TODO: copy sections to this Wiki

to:

(:title FAQ:)

1. GENERAL

1.1 - Where can I find the FAQ?
1.2 - My question is not answered by the FAQ, how can I make a suggestion?
1.3 - Who maintains the FAQ?
1.4 - Who owns and runs the OpenH323 mailing list and OpenH323 web site, and how do I contact them if I am having problems?
1.5 - The FAQ describes something that sounds like my problem, and it refers to a document that I don't really understand. I don't have time for all of this - can I just email someone or contact them via IM and get them to explain it all to me?
1.6 - I'm using pwlib 1.15.0 and openh323 1.5.2 from the openh323.org site, and I have a problem. Will anyone help me?
1.7 - Not used
1.8 - What is OPAL?
1.9 - What are the development plans for OpenH323 and OPAL?
1.10 - What were the H.323 security vulnerabilities reported by the NISCC, and how do they affect OpenH323?
1.11 - Not used
1.12 - What is the license used for PWLib, OpenH323 and OPAL, and why wasn't the GPL used?
1.13 - What restrictions are placed on the software can I combine with PWLib, OpenH323 and OPAL?
1.14 - What license restrictions are placed on changes I make to PWLib, OpenH323 and OPAL?
1.15 - Where did PWLib, OpenH323 and OPAL come from, and who is responsible for it now?

2. MAILING LIST

2.1 - How do I subscribe to the mailing list?
2.2 - How do I unsubscribe from the mailing list?
2.3 - How do I make a posting to the mailing list?
2.4 - What is the mailing list used for?
2.5 - What is the mailing list *not* used for?
2.6 - There is too much traffic on the mailing list. Is there a digest?
2.7 - Is there a searchable archive of the list available?
2.8 - Are there any rules?
2.9 - Who enforces the rules?
2.10 - How can I ensure someone will answer my question?
2.11 - But I really need an URGENT answer to my question?
2.12 - Who answers questions on the list?
2.13 - I want to help by answering questions? How do I do this?
2.14 - Not used
2.15 - Why aren't there separate lists for users and developers like other projects?
2.16 - Can I ask questions about how to use/debug/understand another H.323 stack?

3. DOWNLOADING CODE

3.1 - Where can I download source code from?
3.2 - Where can I download binaries from?
3.3 - Where can I get the very latest source code from?
3.4 - How do I access the CVS repository?
3.5 - Where can I get ZIP versions of the source archives?
3.6 - How do I know what version to download?
3.7 - Where can I download a particular version of the code?
3.8 - Why isn't the latest code and information on openh323.org, and why don't you do something about it?
3.9 - What are Janus, Pandora, Mimas, Atlas and Phobos?
3.10 - Where can I download the old PWLib GUI code
3.11 - Why is the configure.in file is missing when I extract source code from the CVS?

4. COMPILING THE CODE

4.1 - The code does not compile - what is the problem?
4.2 - Microsoft Visual Studio will not load the DSP and DSW files provided with OpenH323
4.3 - I know the OpenLDAP/OpenSSL/Foobah library on my system is broken, but OpenH323 uses it anyway. How do I prevent this?
4.4 - How do I cross compile OpenH323 for another platform?
4.5 - Are there detailed instructions for building OpenH323/PWLib on Windows?
4.6 - Can I compile OpenH323/PWLib using VS.NET 2003, VS.net 2005 and Visual C++ 2005 Express Edition?
4.7 - How do I fix the Windows build error "Cannot open include file: 'ptbuildopts.h': No such file or directory"?
4.8 - How do I fix the Windows build error "Configuring Build Options \ This program cannot run in DOS mode \ Error executing c:\windows\system32\cmd.exe" ?
4.9 - How do I fix the errors in vfakeio.cxx starting at line 411 like "newline in constant", "too many characters in constant", "syntax error: string"?
4.10 - How do I report a bug in the code?
4.11 - How do I fix errors about a missing function called PIsDescendant or IsDescendant ?
4.12 - How do I fix errors about missing include files like "gsmcodec.h" or "lpc10codec.h"
4.13 - How do I fix errors like "Cannot open source file: getdate_tab.c': No such file or directory"?
4.14 - How do I compile OpenH323 on Solaris?
4.15 - How do I make the code smaller?
4.16 - How do I submit patches to the code?
4.17 - How do I fix the following error on when compiling using MSVC 6 "WARNING: the following file requires upgrading: \ C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\XTREE \ Please run 'msvc6chk upgrade' to upgrade this file"?
4.18 - How do I stop my program from immediately crashing with a dialog saying "The application failed to initialise properly. Click on OK to terminate the application" when I use the DLL versions of PWLib and OpenH323, even though the statically linked versions work OK?
4.19 - How do I fix the following error on Windows when building PTLIB.DLL/OPENH323.DLL "dllmain.obj : fatal error LNK1202: "d:\pwlib.msvc\lib\ptlib.pdb" is missing debugging information for referencing module"?
4.20 - How do I fix the following error when compiling OpenH323 "This program cannot be run in DOS mode. \ Error executing c:\windows\system32\cmd.exe. \ asnparser.exe - 1 error(s), 0 warning(s)" ?
4.21 - I am compiling Pandora or Janus patch 4 - where is the ASNParser?
4.22 - Where is pwrc, openphone and all of GUI classes?
4.23 - How do I fix warnings about PVXMLSession and OpalVXMLSession not found compiling the opennivr/vxmltest/woomera programs?
4.24 - The configure program for PWLib or OpenH323 is finding the wrong version of a library - how do I stop this?
4.25 - I used to be able to compile PWLib without any problems, but now I get warnings like this "Please remove pwlib\include\ptlib\msos from the tool include path and from the pre-processor options for this project" - how do I fix this?
4.26 - How do I fix errors compiling asn_grammar.y/asn_grammar.cxx?
4.27 - When I compile pwlib I get warnings like "../common/getdate.y: conflicts: 8 shift/reduce, 18 reduce/reduce" - is this normal?
4.28 - When I compile pwlib I get a warning like "In static member function `static std::ostream& PTrace::End(std::ostream&)':warning: unused variable 'rb'" - is this normal?
4.29 - How do I fix link errors about missing functions when compiling DLLs on Windows?
4.30 - How do I link applications statically in Windows?
4.31 - How do I link applications statically on Unix?
4.32 - How do I stop configure from finding the wrong header files on Windows?
4.33 - How do fix errors about missing MSVC80.DLL or MSVCR80.DLL files when debugging using Visual C++ 2005 Express Edition?
4.34 - How do I fix gcc errors about "PAtomicInteger" when compiling OpenH323 or OPAL?
4.35 - I cannot find the Console Components library files (ptclib.lib and ptclibd.lib) in recent builds of PWLib. Where are they?

5. CODECS

5.1 - Why is there no G.723.1/G.729 codec in OPAL or OpenH323?
5.2 - Can I use the ITU reference code for G.723.1 and G.729?
5.3 - Where can I get licensed G.723.1 and G.729 codec implementations?
5.4 - Can I use the Microsoft G.723.1 codec in my Windows program?
5.5 - How do I use the H.263 video codec with NetMeeting?
5.6 - How do I add my own audio or video codec to OPAL or OpenH323?
5.7 - What audio codecs are supported by OpenH323?
5.8 - What video codecs are supported by OpenH323?
5.9 - Where can I get more information on plugin codecs?
5.10 - Why does a call using a compressed audio codec use much more bandwidth than expected?
5.11 - What is the effect of changing the number of frames per packet for an audio codec?
5.12 - Why am I getting bad audio quality even though I am using G.711?
5.13 - Why am I getting bad audio when using the G.729 codec?
5.14 - How do I get the same codec in each direction when making a call?
5.15 - Why are there so many Speex capabilities?
5.16 - Does OpenH323 support wide-band codecs?
5.17 - Can I use the H.263 video codec in my program?

6. DOCUMENTATION

6.1 - Where can I get a design document for OpenH323?
6.2 - Where can I find the help file for OpenPhone?
6.3 - Where can I find user manuals for the Openh323 programs?
6.4 - Is there a programming tutorial for OpenH323?
6.5 - Is there documentation on audio codec plugins?
6.6 - Where can I get documentation on the API for PWLib and OpenH323?
6.7 - What documentation is available for OpenH323?
6.8 - Where can I find the specification documents for H.323?
6.9 - Is there a document on the configure.exe program used for configuring OpenH323 and PWLib on Windows?

7. USING OPAL and OPENH323

7.1 - When I make a call I get audio in only one direction. What is the problem?
7.2 - I am behind a firewall and cannot receive incoming calls? Why not?
7.3 - I can establish a connection but no audio is transferred. What is wrong?
7.4 - How do I call NetMeeting with an OpenH323 client?
7.5 - I hear an echo when I speaking on a H.323 call - what is wrong?
7.6 - How can I test whether my client is working?
7.7 - I'm sure I have found a problem with OpenH323 - how do I report it?
7.8 - Why am I getting bad audio even though I am using the G.711 codec?
7.9 - Why am I getting bad audio when using the G.729 codec
7.10 - When I start OpenGK/OpenMCU2/OpenIVR as a windows service process it won't start due to "error 1053" or similar error. How do I fix this problem?
7.11 - How does OpenH323 support ENUM dialling?
7.12 - I am getting "Blocked" or other incorrect results when using STUN - how do I fix this?
7.13 - What are the different firewall types reported by STUN, and what do they mean?
7.14 - Why I am seeing messages like "RTP Packet from SSRC=xxxxxxxx ignored, expecting SSRC=yyyyyyyy" with audio only in one direction?
7.15 - How many simultaneous calls can OPAL/OpenH323 handle?

8. OPAL and OpenH323 applications

8.2 - What other Open Source projects use OPAL and OpenH323?
8.2 - What commercial and closed-source software uses OPAL and OpenH323?
8.3 - What is the status of the OpenMCU program?
8.4 - How do I use OpenH323 with Asterisk?

9. Programming

9.1 - How do I create a program that uses OpenH323 for call control, but uses an external RTP device?
9.2 - How do get a list of the codecs supported by OpenH323?
9.3 - When I enable PMEMORY_CHECK, I see all sorts of memory leaks reported. How do I fix these?

10. OPAL

10.1 - What is OPAL?
10.2 - Where can I download OPAL?
10.3 - How do I compile OPAL?
10.4 - How do I use SimpleOPAL to make a call?
10.5 - Is OpenH323 now obsolete or deprecated now that OPAL is released?
10.6 - Where can I find documentation on OPAL?
10.7 - How do I use OPAL to make a call to a telephone number?

Change Log


1. GENERAL

1.1 - Where can I find the FAQ?

The FAQ is available at http://www.voxgratia.org/docs/faq.html, and is posted automatically every two weeks to the OpenH323 mailing list. It also available in text form at http://www.voxgratia.org/docs/openh323-faq.txt

1.2 - My question is not answered by the FAQ, how can I make a suggestion?

Send any suggestions by email to craigs@postincrement.com

1.3 - Who maintains the FAQ?

This FAQ is maintained by Craig Southeren of Post Increment who can be reached by email at craigs@postincrement.com

1.4 - Who owns and runs the OpenH323 mailing list and OpenH323 web site, and how do I contact them if I am having problems?

The OpenH323 mailing list is hosted by SourceForge and maintained by Quicknet Technologies. Problems regarding the operation of the list should be sent to Dave Erhart <daviderhart@sourforge.net>. See 2.1 and 2.3 for information on subscribing to the list.

Note that the previous mailing list at openh323@openh323.org went offline in March 2007.

It is well known that the openh323.org web site contains out-of-date information and a very old version of the code. Feel free to email Quicknet regarding this problem but please don't email the mailing list, or me, as there is nothing we can do about it.

1.5 - The FAQ describes something that sounds like my problem, and it refers to a document that I don't really understand. I don't have time for all of this - can I just email someone or contact them via IM and get them to explain it all to me?

If you feel the urge to contact the core developers, then understand that you are asking them to give up their time and spend it on your problem. If you can't be bothered spending the time, then why should they?

So before doing emailing or contacting via IM, make sure you do the following:

  1. Make sure you have read this FAQ, and any associated documentation, thoroughly,
  2. Search the mailing list, or use Google, to find any posts or documents regarding your problem
  3. If you don't understand the existing documentation at all, then you probably won't understand the answer. Consider spending more time trying to understand the problem
  4. Ask specific questions, not general ones
  5. Accept that the person you contact may be busy, or in another time zone, and cannot answer your question
  6. Be polite

1.6 - I'm using pwlib 1.12.0 and openh323 1.5.2 from the openh323.org site, and I have a problem. Will anyone help me?

It is very unlikely that anyone will assist you with problem in that version of the code, because it has not been updated since mid-2003. There have been several major stable releases of the system in that time, so you should upgrade to the latest stable build and see if your problem persists. If it still happens with more recent code, then ask again.

And yes, it is known that that the openh323.org only provides these old versions of the code. See 1.4 for more information

1.7 - Not used

1.8 - What is OPAL?

See 10.1

1.9 - What are the development plans for OpenH323 and OPAL?

The latest development plans and milestones can be found at http://www.voxgratia.org/docs/milestones.html?

1.10 - What were the H.323 security vulnerabilities reported by the NISCC, and how do they affect OpenH323?

The NISSC announced on 13 January 2004 that they had discovered vulnerabilities in several implementations of the H.323 protocol. This announcement was also released by CERT as Advisory CA-2004-01.

All releases of PWLib after v1.6.0 contain fixes for the vulnerabilities demonstrated by the NISCC test suite. This includes the Janus and Pandora baseline releases and all subsequent stable and development code releases.

For more information, see http://www.voxgratia.org/docs/niscc_006489-h323.html

1.11 - What is the status of the OpenMCU program?

OpenMCU was originally created in May 2000 by Craig Southeren as an experiment to investigate some ideas about how an audio MCU might work. A description of the original motivations can be found at http://www.southeren.com/blog/archives/000050.html.

Over the next two years the code was modified by Derek Smithies and Roger Hardiman to include video capabilities and to add extra functions such as support for multiple rooms. The final result of this effort was OpenMCU v1.7.1 which supported both video and audio, but was unstable and difficult to understand. Guilhem Tardy has also released some notes on how to add H.263 support to OpenMCU at http://www.salyens.com/ffcodec/

OpenMCU version 2 was started in March 2004 with support from Citron Networks with intent of fixing the known problems with version 1. The code was almost completely rewritten to be more modular, and the stability issues were addressed. This work ended around August 2004 with a version that only supported audio.

A new project was started in March 2006 with the support of Stonevoice to restore video functionality to OpenMCU. This work is proceeding, and will result in a full-featured version of OpenMCU that supports video and audio.

1.12 - What is the license used for PWLib, OpenH323 and OPAL, and why wasn't the GPL used?

PWLib, OpenH323 and OPAL are available under v1.0 of the Mozilla Public License (MPL). The MPL was chosen specifically because it permits commercial software to be combined with OpenH323 and OPAL in ways that the GPL does not, but still requires changes to the released code to be contributed back to the community. The exact text of the license used for OpenH323 can be viewed in the CVS here.

A more detailed description of the reasons why the MPL was chosen can be found in my keynote speech? that was presented at the Free Software/Open Source Telephony Summit held by the German Unix User Group in Geilenkirchen, Germany in January 2005

1.13 - What restrictions are placed on the software can I combine with PWLib, OpenH323 and OPAL?

The MPL places no restrictions on what software you may combine with PWLib, OpenH323 or OPAL. You can use OpenH323 with closed source software or with Open Source software released under other licenses, provided that the other license allows this.

1.14 - What license restrictions are placed on changes I make to PWLib, OpenH323 and OPAL?

Paragraph 3.2 of the MPL license states:

"Any Modification which You
create or to which You contribute must be made available in Source Code form
under the terms of this License..."

For the purposes of the MPL, "Modification" is defined as:

"...addition to or deletion from the substance or
structure of either the Original Code or any previous Modifications. When
Covered Code is released as a series of files, a Modification is:
A. Any addition to or deletion from the contents of
a file containing Original Code or previous Modifications.
B. Any new file that contains any part of the
Original Code or previous Modifications."

In plain language, this means that any changes you make to any existing OpenH323 source file must be released under the same MPL license. This same applies to any new file that contains part of any previously released code.

However, the MPL places no restrictions on any new files you create that contain wholly original code. You can choose to release (or not release) these files under any license you choose. Please note that files not covered by the MPL will not be included in the official OpenH323 CVS.

1.15 - Where did PWLib, OpenH323 and OPAL come from, and who is responsible for it now?

PWLib was started by in 1992 by Robert Jongbloed and Craig Southeren, and the copyright for the code was transferred to an Australian company called Equivalence Pty Ltd in 1996. Work commenced on OpenH323 in 1998, and PWLib and OpenH323 was released as Open Source software using the MPL license in the same year. The openh323.org domain name was acquired at this time, and the code was made available via a private server at that web address. OPAL coding started in late 1999 and was released under the same license.

In early 2000, Robert and Craig sold Equivalence Pty Ltd and the rights to the openh323.org domain name to a US company called Quicknet Technologies Inc. They were also employed by Quicknet to support OpenH323 and to develop associated software. The OpenH323 CVS and mailing list was moved to a new server managed by Quicknet.

The OpenH323 CVS was moved to SourceForge in May 2003. Robert and Craig ceased employment with Quicknet in June 2003.

Currently, the CVS remains hosted on SourceForge while the mailing list is hosted by a mail server run by Quicknet who retain the rights to the openh323.org domain name and the ownership of Equivalence Pty Ltd. There have been no new contributions to the codebase by Quicknet or updates to the openh323.org web site since June 2003.

The project continues to grow and mature thanks to the work of a dedicated group of developers. The following people have accepted the responsibility of CVS write access as well as the ability to close patch submissions, and can be considered to be the people responsible for leading OpenH323, OPAL and PWLib:

Craig Southeren, Damien Sandras

The following developers have CVS write access and are active contributors to the project

Derek J Smithies, Simon Horne, Robert Jongbloed,

The following developers have CVS write access and contribute occasionally:

Shawn Hsiao, Vyacheslav Frolov, Yuri Kiryanov,
Kilian Krause, Roger Hardiman, Hannes Friederich

Bruce Ferrell administers the mailing list and SourceForge web site on behalf of Quicknet.

There are many more people (far too many to list) who have contributed time and code to the project. Please accept my thanks, and my apologies that you cannot be listed here.


2. USING THE OPENH323 LIST

2.1 - How do I subscribe to the mailing list?

The only way to subscribe is via the form on the following web page

https://lists.sourceforge.net/lists/listinfo/openh323-devel

2.2 - How do I unsubscribe from the mailing list?

The only way to unsubscribe is via the form at the bottom of the following web page

https://lists.sourceforge.net/lists/listinfo/openh323-devel

2.3 - How do I make a posting to the mailing list?

Send an email to openh323-devel@lists.sourceforge.net.

2.4 - What is the mailing list used for?

This list is used for asking any questions related to the OpenH323 project or related technologies.

2.5 - What is the mailing list *not* used for?

This list is not used for:

  • SPAM
  • Questions unrelated to OpenH323
  • Selling your company's services or products
  • Finding someone to do your homework/final year project/doctorate

2.6 - There is too much traffic on the mailing list. Is there a digest?

Yes.

When you subscribe to the list, make sure you select "Yes" on the option labelled "Would you like to receive list mail batched in a daily digest?". If you are replying to messages contained in a digest, please make sure you change the subject line to reflect your question rather than retaining the arbitrary digest title.

2.7 - Is there an searchable archive of the list available?

Yes. http://sourceforge.net/mailarchive/forum.php?forum=openh323-devel

Archives of the old list can be found at http://www.openh323.org/pipermail/openh323/

2.8 - Are there any rules?

No flaming. No trolls. Be nice. Be warned.

2.9 - Who enforces the rules?

There are several enforcers who ensure that the rules are applied fairly and consistently. If you are emailed by Craig Southeren or David Erhart for being off-topic, for flaming, or if they indicate that an email thread is closed, it is suggested that you listen carefully unless you have kneecaps you no longer care about.

2.10 - How can I ensure someone will answer my question?

There is absolutely no guarantee that someone will answer your question. If you want to maximise the chances of an answer, do the following:

  • be polite
  • provide enough information to allow the problem to be duplicated by someone else
  • describe what you have already done to fix the problem
  • don't bother saying you need a reply urgently

An excellent essay on how to ask questions be found at http://www.catb.org/~esr/faqs/smart-questions.html. Another excellent essay on how to report bugs can be found at http://www.chiark.greenend.org.uk/~sgtatham/bugs.html

2.11 - But I really need an URGENT answer to my question?

Then offer money. Lots of money. But don't bother posting your request multiple times unless you don't mind annoying lots of people as well as looking like a complete loser.

There is one class of posters who appear regularly asking for urgent help, and these are students asking for help in completing their final year project. Writing a VoIP application seems to be a popular topic for final year university students, and I'm sure that most of them actually do the work themselves. The excellent Ekiga (http://www.ekiga.org - formerly GnomeMeeting) application started in exactly this way.

As always, though, there are students who seem to think that they can leave everything to last minute and then just grab some Open Source project and fill in the missing bits. When this does not work, they post plaintive cries on the list asking if someone has created what they need. Strangely, they seem to think this is a perfectly reasonable request so when they don't get an answer, they keep asking. Amazing....

What they should do (apart from starting their project earlier so they have plenty of time to finish) is start working on the code themselves, using one of the sample programs as basis. When they encounter a problem, they should ask specific questions that can be answered by someone who has the time to do so. Asking someone else to provide the entire project working exactly to their specifications is just unreasonable - so please don't waste everyone's time by asking.

2.12 - Who answers questions on the list?

Anyone may answer questions, but the most interesting ones will normally be answered by one of the principal developers who include Robert Jongbloed, Derek Smithies, Roger Hardiman, Damien Sandras or Craig Southeren. If you receive a reply from any of these people, then listen carefully because they are very likely correct.

2.13 - I want to help by answering questions? How do I do this?

If you see a question for which you know the answer, or you see a reply that you know to be incorrect, then please join in the discussion. And be gracious if you make a mistake - being wrong is not a crime but being impolite certainly is.

2.14 - Not used

2.15 - Why aren't there separate lists for users and developers like other projects?

Feel free to subscribe to the lists on SourceForge as you please.

2.16 - Can I ask questions about how to use/debug/understand another H.323 stack?

The OpenH323 mailing list is intended for questions and issues related to the OpenH323 stack. If you have questions about a commercial H.323 stack, then you should contact the stack vendor for support. Commercial stacks are usually covered by non-disclosure agreements, so it's unlikely that anyone on the list could help you without breaking that agreement.

If you have questions regarding H.323 that are not related to OpenH323 or any other specific stack, then the Packetizer site (see http://www.packetizer.com has many excellent resources. It also has information on several H.323 mailing lists (see http://www.packetizer.com/voip/h323/lists.html)


3. DOWNLOADING CODE

3.1 - Where can I download source code from?

The official source code archives (tarballs and ZIP files) are available from the downloads page of the OpenH323 SourceForge project, which can be found at http://sourceforge.net/project/showfiles.php?group_id=80674. These same source archives (and occasionally some other releases) can also be found at the Vox Gratia web site at http://www.voxgratia.org/downloads.html. These releases are identical to those available on the SourceForge site as they are updated by the same maintainer from the official CVS repository.

The Ekiga (http://www.ekiga.org - formerly GnomeMeeting) project also maintains source code tarballs (Linux only) at http://snapshots.seconix.com and http://snapshots.voxgratia.org. These are also created from the official CVS repository but use different scripts.

Please do not use the sources from the download page on the official OpenH323 web site. These files have not been updated since 2003

3.2 - Where can I download binaries from?

The Ekiga (http://www.ekiga.org - formerly GnomeMeeting) team maintain up to date binary packages of OpenH323 and PWLib for Linux at http://www.gnomemeeting.org/index.php?rub=5&pos=0

The XMeeting Project team maintains up to date binary packages for MacOS X at http://sourceforge.net/projects/xmeeting/

Other (very out of date) binaries can be found on the OpenH323 site

3.3 - Where can I get the very latest source code from?

The latest source code is always in the CVS (see 3.4 below), but the Ekiga team maintains very recent source code tarballs for Linux at http://snapshots.seconix.com and http://snapshots.voxgratia.org

If you are downloading from the repository, you have a number of versions to choose from:

TagDescription
(no tag)CVS Head
This is always the very latest, up to the minute, source code. This may not work or even compile so use with caution
CURRENTthe most recently compilable development source code used by the developers. Will compile and will run, but may contain some problems
PREVIOUSthe last version of "CURRENT"
DEVELthe current released development code
STABLEthe current stable released code

See 3.7 below on how to find a particular version of the source code in the CVS

3.4 - How do I access the CVS repository?

The CVS is hosted by SourceForge at cvs.sourceforge.net:/cvsroot/openh323. See http://www.voxgratia.org/docs/openh323_cvs.html for more detailed instructions. A web interface to the CVS can be found at http://openh323.cvs.sourceforge.net/openh323/

See 3.3 above for information on development tags available in the CVS, and 3.7 below on how to find a particular version of the source code.

3.5 - Where can I get ZIP versions of the source archives

ZIP files are now created for recent released, but may not be available for some older version. Windows users can use tar.gz source archives without any problems if an archive program that handles end of line characters and binaries is used. We recommend WinZIP. See section 4.2, 4.7 and 4.8 for related problems

3.6 - How do I know what version to download?

Normally, the recommended stable version is the most recent version available from the SourceForge download page. The recommended versions are also shown on the Vox Gratia home page at http://www.voxgratia.org

3.7 - Where can I download a particular version of the code?

If the version you require is not available on any of the download sites (see 3.1 above) then you will have to extract it from the CVS repository (see 3.4 above).

Every release of OpenH323 or PWLIB is available as a CVS tag. For example, version 1.6.0 or PWLib is assigned the tag v1_6_0. This is useful for doing compares between versions.

3.8 - Why isn't the latest code and information on openh323.org, and why don't you do something about it?

The owners of the openh323.org domain name (Quicknet Technologies, Inc) maintain the www.openh323.org web site and the openh323.org mailing list. See 1.4for how to contact Quicknet.

I'm no longer associated with Quicknet, so I cannot make any changes to the openh323.org web site or mailing lists, even though I do have write access to the CVS (as do several other non-Quicknet people). I maintain a website with the latest information on OpenH323 and OPAL, and other projects at http://www.voxgratia.org

3.9 - What are Janus, Pandora, Mimas, Atlas and Phobos?

These names are all code names for various releases of OpenH323 or OPAL. A full explanation of all of the code names can be found on this page http://www.voxgratia.org/docs/milestones.html, but the important information is that the current stable releases are Phobos (for OPAL) and Atlas (for OpenH323). The current development builds are Deimos (for OPAL) and Titan (for OpenH323)

For those who are interested, the OpenH323 code names come from the moons of Saturn. The OPAL code names come from the two moons of Mars, which appropriately translate to Fear (Phobos) and Panic (Deimos). Future code names for OPAL will come from star names - the first one will be Centauri.

3.10 - Where can I download the old PWLib GUI code?

This code is no longer supported and is not available for download as a tar.gz file or ZIP file. It can be extracted from the OpenH323 CVS using the "pwlib_win32" module

3.11 - Why is the configure.in file is missing when I extract source code from the CVS?

The configure.in files in PWLib and OpenH323 were renamed to configure.ac after the Pandora release as this is now the preferred extension for autoconf files. Unfortunately, the limitation of the CVS modules files do not allow for different file sets for different versions of the same module, which means that the configure.in files have been moved to the CVS "attic".

This means that extracting older releases of the source from the CVS by tag will not get the configure.in file. The file can be retreived using an explicit CVS checkout command to retrieve, as follows:

 cvs co -rPandora_release configure.in

We may be able to fix this problem at some time in the future - announcements will be made if this occurs


4. COMPILING THE CODE

4.1 - The code does not compile - what is the problem?

Yes, the code does compile but something on your system is causing a problem. You need to find what that problem is.

Here are some quick tips:

  • Make sure that the pwlib directory is renamed to "pwlib" and the openh323 directory is "openh323", as the original tarball may have different names or your CVS client may have used the module name instead
  • You need Bison and Flex installed as well as a compiler and associated tools. We recommend gcc and Make for Unix platforms, and Microsoft VS.net 2003 for Windows although other environments are supported. Note that the bison and flex package provided as part of the Windows build instructions (see 4.5) must be installed in C:\TOOLS unless you seriously know what you are doing.
  • Check the ReadMe.txt files for more information

4.2 - Microsoft Visual Studio will not load the DSP and DSW files provided with OpenH323

You have downloaded the tar.gz source archive, and then used an archive program that does not correctly handle tar.gz files under Windows which has resulted in project files with incorrect end of file characters. MSVC cannot handle project files of this type, although it does handle source files in this mode.

To fix the problem, use a program like WinZIP that will do the correct conversion automatically, or use .ZIP version of the archives. You can also load the DSP and DSW files into a text editor and fix the end of line characters manually.

If you have this problem, you most likely will have the problems described in 4.7 and 4.8 as well.

4.3 - I know the OpenLDAP/OpenSSL/Foobah library on my system is broken, but OpenH323 uses it anyway. How do I prevent this?

Run "./configure" for PWLib or OpenH323 with the appropriate flag to disable the module you want to avoid. Use "./configure --help" for a list of these flags.

4.4 - How do I cross compile OpenH323 for another platform?

Set the following environment variables before running "./configure":

 export CXX=<toolchain directory>/g++ 
export CC=<toolchain directory>/gcc

It may also be necessary to tweak LDFLAGS and CFLAGS using environment variables as well, or to disable certain features (see 4.3 above)

4.5 - Are there detailed instructions for building OPAL, OpenH323 and PWLib on Windows?

Instructions for compiling OPAL, OpenH323 and PWLib on Windows can be found at http://www.voxgratia.org/docs/opal_windows.html, http://www.voxgratia.org/docs/pwlib_windows.html and http://www.voxgratia.org/docs/openh323_windows.html

4.6 - Can I compile OpenH323/PWLib using VS.NET 2003, VS.net 2005 and Visual C++ 2005 Express Edition?

Version 1.14 of OpenH323 and version 1.7 of PWLib and all later revisions contain full support for VS.NET 2003. See the build instructions (section 4.5 above) for full information in compiling in that environment.

Project files for VS.net 2005 and Visual C++ 2005 Express Edition were added on 26 June 2006 and are available in all later versions of the code. VC 5 Express Edition is available from:

http://msdn.microsoft.com/vstudio/express/visualc/download/

Louis Marascio has created a set of patches to allow compilation of earlier version of PWLib/OpenH323 with VS.net 2003. These can be downloaded from http://www.louismarascio.com/vsnet2003-openh323.zip

4.7 - How do I fix the Windows build error "Cannot open include file: 'ptbuildopts.h': No such file or directory"?

The file ptbuildopts.h is created from ptbuildopts.h.in by the pwlib/configure.exe program. If this step does not occur, then ptbuildopts.h is not created and the build process will fail. You need to determine why this is happening. See section 4.2 above or section 4.25 for a possible explanations

4.8 - How do I fix the Windows build error "Configuring Build Options \ This program cannot run in DOS mode Error executing c:\windows\system32\cmd.exe" ?

This indicates that the file pwlib/configure.exe program cannot be executed, probably because it is missing or corrupted. Download a new version and make sure it is a working Windows executable. See section 4.2 above for a possible explanation

4.9 - How do I fix the errors in vfakeio.cxx starting at line 411 like "newline in constant", "too many characters in constant", "syntax error: string"?

This is a problem in older versions of PWLib, such as version 1.5.3. Download and use a later version of PWLib downloaded from SourceForge (see 3.1).

4.10 - How do I report a bug in the code?

The best way to report a bug is to use the Bug tracker at the OpenH323 Source Forge site which can be found at http://sourceforge.net/tracker/?group_id=80674&atid=560612.

Sending an email to the OpenH323 mailing list will probably also work, but we would much rather you used the bug tracker.

If you have a patch that adds a new feature, then please use the patch tracker as described in 4.16

4.11 - How do I fix errors about a missing function called PIsDescendant or IsDescendant ?

This error is usually caused by using source code that is incompatible with the version of PWLib that is being used. If you are using a version of PWLib prior to 1.7 (i.e. Janus or earlier), then IsDescendant function is available:

 obj.IsDescendant(MyParticularClass::Class()) 

In PWLib 1.7 and later, the function IsDescendant was replaced with PIsDescendant in order to provide support for C++ RTTI (Run Time Type Information). This function is used as follows:

 PIsDescendant(&obj, MyParticularClass) 

4.12 - How do I fix errors about missing include files like "gsmcodec.h" or "lpc10codec.h"?

These files were removed when support for audio codec plugins was introduced. See the document http://www.voxgratia.org/docs/codec_plugins.html#converting for more information

4.13 - How do I fix errors like "Cannot open source file: getdate_tab.c': No such file or directory"?

You need to install the GNU bison and flex programs program. See http://www.voxgratia.org/docs/pwlib_windows.html#flexbison for information on how to do this.

4.14 - How do I compile OpenH323 on Solaris?

Instructions can be found at http://www.voxgratia.org/docs/solaris.html

4.15 - How do I make the code smaller?

First of all, make sure you are using the Release build ("make opt" for Unix) and the "No Trace" build for Windows.

If you do not need to create trace files, you can half the size of the Unix binaries by ensuring that OpenH323 is compiled with the PASN_NOPRINTON and PASN_LEANANDMEAN symbols defined, and that everything is compiled without the PTRACING symbol

Also make sure to turn off features that you do not need, such as video. This can be done changing defines in the include/openh323buildopts.h file.

It is possible to get a Windows executable that includes video and audio with PWLib and OpenH323 linked statically, and dynamic links to everything else, in an .EXE that is under 1Mbyte (provided tracing is disabled)

Linux executable is always larger that the comparable Windows program, but it possible to get the same code in under 3Mbytes.

4.16 - How do I submit patches to the code?

If you have a code patch that adds a new feature or capability, or fixes a bug, then please submit it using the SourceForge patch tracker at http://sourceforge.net/tracker/?group_id=80674&atid=560614

If you are reporting a bug without a code patch, then please use the bug tracker as described in 4.10

4.17 - How do I fix the following error on when compiling using MSVC 6 "WARNING: the following file requires upgrading: C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\XTREE \ Please run 'msvc6chk upgrade' to upgrade this file"?

There are several major defects in the STL header files shipped with MSVC 6. These defects are sufficient to crash programs (like PWLib) that rely on the correct behaviour of global static variables. Fortunately, the original authors of the STL libraries for MSVC have published new versions of the files necessary to correct the worst of these problems.

PWLib checks for the correct header file versions when a new compile is started, and will prevent the compile from continuing until the correct header files are installed. There is a "one-click" solution to this problem that will upgrade your files painlessly and quickly - see the following URL for more information: http://www.voxgratia.org/docs/pwlib_windows.html#msvc_headers or download the upgrade program from http://www.voxgratia.org/releases/msvc6chk.zip

4.18 - How do I stop my program from immediately crashing with a dialog saying "The application failed to initialise properly. Click on OK to terminate the application" when I use the DLL versions of PWLib and OpenH323, even though the statically linked versions work OK?

This is probably because you have not upgraded your MSVC 6 header files - see 4.17 above

4.19 - How do I fix the following error on Windows when building PTLIB.DLL/OPENH323.DLL "dllmain.obj : fatal error LNK1202: "d:\pwlib.msvc\lib\ptlib.pdb" is missing debugging information for referencing module"?

This error seems to be a result of the linker getting confused about the debugging information in the pdb file. The only solution is to delete the entire pwlib/lib or openh323/lib directory and recompile everything again. You will have to exit MSVC before you can do this, as the environment keeps open files in that directory.

Note that doing a "clean" is not sufficient, and simply removing the .pdb file is not enough either - the entire directory must be removed.

4.20 - How do I fix the following error when compiling OpenH323 "This program cannot be run in DOS mode. Error executing c:\windows\system32\cmd.exe. \ asnparser.exe - 1 error(s), 0 warning(s)" ?

If you are using PWLib 1.6/OpenH323 1.13 or earlier, then you need to compile the ASNParser. See http://www.voxgratia.org/docs/pwlib_windows.html#asnparser

4.21 - I am compiling Pandora or Janus patch 4 - where is the ASNParser?

The ASNParser is not included in the Pandora release, because it was decided to include the pre-processed ASN files directly into OpenH323. This greatly simplifies the build process for both PWLib and OpenH323 and removes the need for the ASNParser. The ASNParser is still available in the OpenH323 CVS, if you want to see it.

Janus patch 4 includes the ASNParser sources, but it does not need to be compiled or used as it this release has also been modified to include the pre-processed ASN files.

4.22 - Where is pwrc, openphone and all of GUI classes?

The time and effort and required to maintain the GUI code became unmanageable, especially when there are excellent multiple-platform GUI toolkits like Qt and wxWindows already available. As a result, the GUI code is no longer included in the baseline release archives. This includes the all of the source trees pwlib/src/pwlib, pwlib/include/ptlib, and the binaries pwlib.dll/pwlibd.dll/lib_pw_xxxx_r.so/lib_pw_xxxx_d.so

As always, the original source code is still available in the CVS but may not be actively maintained. See 3.10 for more information

4.23 - How do I fix warnings about PVXMLSession and OpalVXMLSession not found compiling the opennivr/vxmltest/woomera programs?

The VXML code requires the header files for the expat XML parser to be installed on your system. If you are using Unix, then make sure you have the "expat-devel" package installed. If you are using Windows, then a recompiled version of expat and the required header files can be downloaded from http://www.voxgratia.org/bin/expat_lib.zip.

For more information on Jim Clark's excellent XML toolkit, see http://www.jclark.com/xml/expat.html or http://expat.sourceforge.net

4.24 - The Windows configure process for PWLib or OpenH323 is finding the wrong version of a library - how do I stop this?

The configure program for Windows will search all directories looking for installed versions of libraries such as expat.lib and openldap.lib. If other programs have versions of these libraries installed, then it is likely that configure will pick the wrong file. This is particularly likely if you have two development environments installed, such as VS.net and MSVC.

To fix this, it is necessary to tell configure not to search in certain directories for files. This can be done by changing the configure command line in the project file, but there are also several predefined environment variables which, if set, will be used by configure to determine which directories to ignore. These variables are set to a list of directories separated by semicolons (";") :

PWLIB_CONFIGURE_EXCLUDE_DIRSignore these directories always
MSVC_PWLIB_CONFIGURE_EXCLUDE_DIRSignore these directories when compiling using MSVC 6
VSNET_PWLIB_CONFIGURE_EXCLUDE_DIRSignore these directories when compiling using VS.net 2003

4.25 - I used to be able to compile PWLib without any problems, but now I get warnings like this "Please remove pwlib\include\ptlib\msos from the tool include path and from the pre-processor options for this project" - how do I fix this?

Prior to the Janus release of OpenH323, it was necessary to include the "platform specific" include directory into the include paths for the environment. This requirement was removed because it was the source of many problems for users. The changes required to remove this dependency cause problems if the "platform specific" directory is retained, so the code has been altered to generate the above error if the include paths are not changed.

To remove the error, make sure that there are only three directories configured into the VS.net or MSVC 6 include path (as described at http://www.voxgratia.org/docs/pwlib_windows.html#dirs).

If you get this error while compiling a program, and you have verified that the environment includes paths are correct, then ensure that the Preprocessor options for the project do not contain the "platform specific" directory.

4.26 - How do I fix errors compiling asn_grammar.y/asn_grammar.cxx?

On some platforms, compiling the ASNParser results in errors like this:

 In file included from /pwlib/include/ptlib/contain.h:782,
 from /pwlib/include/ptlib.h:146,
 from asn_grammar.y:77:
 /pwlib/include/ptlib/contain.inl: In constructor PAbstractList::PAbstractList()':
 /pwlib/include/ptlib/contain.inl:428: warning: right-hand operand of comma has no effect
 asn_grammar: In function `int yyparse()':
 asn_grammar:5045: error: expected primary-expression before "__attribute__"
 asn_grammar:5045: error: expected `;' before "__attribute__"
 asn_grammar:5040: warning: label `yyerrlab1' defined but not used

These errors are probably due some flag differences in the bison pre-processor, but the solution is very simple. Simply upgrade your code to at least the last Janus release version (as of 1 Nov 2004, this was Janus patch 4) because that version (and all subsequent versions) no longer require the ASN parser to be compiled. See 4.21 for more information

4.27 - When I compile pwlib I get warnings like "../common/getdate.y: conflicts: 8 shift/reduce, 18 reduce/reduce" - is this normal?

Yes, this is normal and does not indicate that there is a problem. It can be safely ignored.

4.28 - When I compile pwlib I get a warning like "In static member function `static std::ostream& PTrace::End(std::ostream&)': warning: unused variable 'rb'" - is this normal?

This warning has been left in to remind us of a potential problem that we need to fix some day. For now, it can be safely ignored.

4.29 - How do I fix link errors about missing functions when compiling DLLs on Windows?

The short answer is that this problem is often a side-effect of the method used to maintain compatibility across various versions of the DLL libraries. The simplest way to solve this problem is to delete the files with the extension ".dtf" and then completely rebuild the DLLs. This should solve the problem.

Why does this work?

The long answer is that PWLib and OpenH323 attempt to preserve the ordinals used for DLL entry points across different versions of the libraries. To do this, the MergeSym program compares the function signatures in the DLLs to the entry points listed in the .dtf files, and makes sure that the final file ends up with compatible ordinals. The default .dtf files are created on a system with all optional features enabled, which means that if they are used on a system with less features, there are unresolved symbols left over.

4.30 - How do I link OpenH323, PWLib or OPAL applications statically in Windows?

To create a statically linked application in Windows, you simply need to link with the static versions of the libraries rather than the dynamic ones. A guide to the library names under Windows is show below. Note that you must not mix static and dynamic versions of the libraries in the same executable - this will cause very strange and hard to diagnose errors.

LibraryStatic DebugStatic ReleaseDynamic DebugDynamic Release
pwlibptlibsd.lib & ptclibd.libptlibs.lib & ptclibd.libptlibd.lib & ptclib.lib
ptlibd.dll
ptlib.lib & ptclib.lib
ptlib.dll
openh323openh323sd.libopenh323d.libopenh323d.lib
openh323d.dll
openh323.lib
openh323.dll
opalopensd.libopals.libopald.lib
opald.dll
opal.lib
opal.dll

4.31 - How do I link OpenH323, PWLib or OPAL applications statically on Unix?

The standard makefiles allow static executables to be created using the following commands:

"make noshared" - creates a statically linked executable with debug information
"make optnoshared" - creates a statically linked executable without debug information

4.32 - How do I stop configure from finding the wrong header files on Windows?

The configure program on Windows will search all local hard drives looking for header files and libraries that indicate which compile time options can be enabled. Sometimes, configure will find files that it should not, usually because it is searching through the wrong directories. This can occur if packages such as Cygwin or MSys are installed on the host computer.

To prevent configure from attempting to use these header files, it is necessary to indicate which directories should be ignored during the scanning process. To tell configure to ignore a directory, you must add the path to be ignored to the PWLIB_CONFIGURE_EXCLUDE_DIRS environment variable.

In addition, the following environment specific environment variables can be used to customise the directories used for various compile environments. This is especially useful when multiple environments are installed on the same machine, (i.e. having both MSVC 6 and VS.net 2003 installed)

MSVC 6MSVC_PWLIB_CONFIGURE_EXCLUDE_DIRS
VS.net 2003VSNET_PWLIB_CONFIGURE_EXCLUDE_DIRS
VS.net 2005VSNET2005_PWLIB_CONFIGURE_EXCLUDE_DIRS

Note that technique can also be used to reduce the time taken to perform the configure scan by not scanning large directory trees or even entire drives.

Note that versions of configure prior to version 1.5 (released on 26 June 2006) do not support ignoring entire drives.

You can also specify directories to ignore on the configure command line using the --exclude-dir command line option, or you can specify the names of additional environment variables that contain directories using the --exclude-env option. See the custom build information for the project specific header file to edit the command line to configure.

4.33 - How do fix errors about missing "MSVC80.DLL" or "MSVCR80.DLL" file when debugging OPAL programs using Visual C++ 2005 Express Edition?

This problem is caused by having dependent libraries, such as OpenSLL or Expat, that have incorrect references to the run-time library. To fix this problem, you will need to find correctly packaged versions of these libraries.

Some references to libraries that are known to work are provided below. Please email craigs@postincrement.com if you locate any other sites that provide working library packages

OpenSSLAvailable for Shining Light Productions
http://www.slproweb.com/products/Win32OpenSSL.html
ExpatAvailable from the SourceForge Expat project page
http://sourceforge.net/project/showfiles.php?group_id=10127

4.34 - How do I fix gcc errors about "PAtomicInteger" when compiling OpenH323 or OPAL?

This error is usually indicates the presence of two incompatible versions of the pwlib headers, and that the openh323 build process is detecting the wrong set which is probably located in /usr/local/include or /usr/include (check the configure output to be sure)

The easiest way to solve the problem is to set the PWLIBDIR environment to point to the correct version of PWLib. Alternatively, deinstall the incorrect version so that the auto-detection find the correct version.

4.35 - I cannot find the Console Components library files (ptclib.lib and ptclibd.lib) in recent builds of PWLib. Where are they?

The Console Components library (ptclib.lib/ptclibd.lib) was removed as a separate library in late July 2006, and all of the source files were added to the base Console library. This simplifies the management of libraries under Windows, and brings the code in line with the Unix library.


5. CODECS

5.1 - Why is there no G.723.1/G.729 codec in OPAL or OpenH323?

These codecs are covered by patents, and are not available as Open Source implementations.

5.2 - Can I use the ITU reference code for G.723.1 and G.729?

Use of these codecs and the reference implementations still requires licenses from the patent holders. See the relevant ITU specifications for more information.

The ITU reference code for G.723.1, G.729 and several other codecs can be obtained from the ITU web site at http://www.itu.int/publications/itu-t/list-t-soft.html

5.3 - Where can I get licensed G.723.1 and G.729 codec implementations?

There are several companies that sell implementations of these codecs for various platforms. Be prepared to pay more than $10k for each codec implementation, plus $10 per copy sold/used.

Some companies that are known to have licensed codec implementations available are:

  • VoiceAge (http://www.voiceage.com) - G.729 and G.723.1 for Windows and Linux
  • Intel (http://www.intel.com/software/products/ipp/) - A wide range of codecs

5.4 - Can I use the Microsoft ACM G.723.1 codec in my Windows program?

It is not clear whether this is legal or not, but there is reason to believe that usage of the MS G.723.1 codec by programs other than those authorised by Microsoft is in violation of the DMCA. We choose not to use this codec for that reason - you make your own choice.

5.5 - How do I use the H.263 video codec with NetMeeting?

As of 22 April 2004, the CVS head revision of OpenH323 contains the AliceStreet code that implements RFC 2190 compliant H.263 as required for compatibility with NetMeeting. As such, it is only available for users prepared to download and compile code from the CVS. This code will appear in future snapshots starting with PWLib 1.7.1 and OpenH323 1.14.1. See http://www.voxgratia.org/docs/h263_codec.html for more information.

The Janus release of OpenH323 and all versions up to PWLib 1.6.6.1/OpenH323 1.13.5.1 contain a non-compliant implementation of H.263 that is not compatible with NetMeeting.

For developers who need to use H.263 with earlier versions of OpenH323, patches are available from Guilhem Tardy at http://www.salyens.com/?page=ffcodec

5.6 - How do I add my own audio or video codec to Opal or OpenH323?

If you are using a current version of OPAL or OpenH323, then you have access to plugin codecs. See http://www.voxgratia.org/docs/codec_plugins.html for more information.

If you are using a version of OpenH323 prior to v1.14 or a version of OPAL prior to August 2006, then you will need to implement your codec as a embedded codec. Look at how other codecs such as GSM or H.261 are implemented for how to do this.

5.7 - What audio codecs are supported by OpenH323?

  • G.711 uLaw and ALaw
  • GSM 06.10
  • Microsoft-GSM
  • LPC-10
  • Speex
  • iLBC
  • G.726
  • G.723.1 (Windows and Linux: requires Quicknet card)
  • G.729 (Windows only: requires VoiceAge library

5.8 - What video codecs are supported by OpenH323?

  • H.261
  • H.263
  • CU-30

5.9 - Where can I get more information on plugin codecs?

See http://www.voxgratia.org/docs/codec_plugins.html

5.10 - Why does a call using a compressed audio codec use much more bandwidth than expected?

The "headline" bitrate of a audio codec does not include the overhead added by RTP and UDP encapsulation. This overhead means that a compressed code like GSM (with an advertised bit rate of 13200 bits/second) actually consumes 29200 bits/second, while an uncompressed codec like G.711 (with an advertised bit rate of 64kbps) actually consumes 75kbps.

For a detailed explanation of how to calculate the actual bit rate for an audio codec, see http://www.voxgratia.org/docs/codecbw.html

5.11 - What is the effect of changing the number of frames per packet for an audio codec?

Increasing the number of frames per packet will increase latency but decrease bandwidth. Decreasing the number of frames per packet will decrease latency but will increase bandwidth.

See http://www.voxgratia.org/docs/codecbw.html for a more detailed explanation of why this occurs.

5.12 - Why am I getting bad audio quality even though I am using G.711?

See 7.8

5.13 - Why am I getting bad audio when using the G.729 codec?

See 7.9

5.14 - How do I get the same codec in each direction when making a call?

This is an old problem, and one that is not easy to solve.

Firstly, it is perfectly legal to have asymmetric codecs in H.323. So what we are trying to do is outside the specification

Having said this, OpenH323 tries hard to get symmetric codecs but it is not always possible, especially if using slow start and the other end has a very different codec priority list.

The only guaranteed way is to have only one codec in the list. If this is not possible, then having the same codec priority, and using fastStart, also helps.

5.15 - Why are there so many Speex capabilities?

These Speex capabilities can be divided three different groups:

  1. Narrow and wide band codecs, using original OpenH323 identifier
  2. Narrow and wide band codecs, using identifier specified in Speex draft RFC
  3. Windows compatible narrow codec

There are two sets of Speex capabilities because the draft Speex RFC specified a format for the H.323 non-standard capability string that was incompatible with the format used by existing OpenH323 implementations. Thus, the only way to preserve backwards compatibility with old applications while still conforming to the new standard was to include both sets.

The original OpenH323 capability identifiers were removed from OPAL in August 2006.

For more information on the Speex Draft RFC, see http://www.speex.org/drafts/draft-herlein-speex-rtp-profile-02.txt

5.16 - Does OpenH323 support wide-band codecs?

Yes, via the plugin codec interface (see http://www.voxgratia.org/docs/codec_plugins.html). Speex wide-band has already been implemented via this interface in the current development code

5.17 - Can I use the H.263 video codec in my program?

The answer to this question is either no, yes, or maybe depending on who you are.

Firstly, I am not a lawyer. Any opinions expressed here are mine alone and should not be construed as an offer of legal advice. Your mileage may vary. Void where prohibited. Some settling of contents may occur during shipping.

Now that is out of the way, it is important to understand that there are actually two issues to be resolved: copyright and patents.

There is no copyright issue as far as the FFMPEG codec library is concerned (the one that OpenH323 uses). The FFMpeg library is LGPL, and so can be used with the non-(L)GPL OpenH323, provided we load it at run-time (we do), and provided we make any changes available as per the terms of the LGPL (we do that too).

As expected, the patent issue is not as clear.

According to the site at http://www.mpegla.com it is legal to sell up to 50,000 MPEG4 decoder or encoder licenses in one year without royalties. See http://www.mpegla.com/m4v/m4vweb.ppt for more information. MPEG4 is essentially H.263+, so you would expect that the H.263 code would just be a subset of the MPEG4 code. Apparently this is not the case, so this licensing arrangement probably does not apply. Or at least, that's what some people say - others say different. The situation for you could well depend on the patent law in your part of the world.

In the end, there is no definitive answer saying that ffmpeg is safe to use, or not. You'll have to make up your own mind and get your own advice.

Feel free to contact the author if you have any additional information on this subject


6. DOCUMENTATION

6.1 - Where can I get a design document for OpenH323?

What design documents that do exist can be found at http://www.voxgratia.org/docs/openh323_design.html

6.2 - Where can I find the help file for OpenPhone?

There is no help file (yes - we know there is a link for one). If you write one, feel free to post it to the list

6.3 - Where can I find user manuals for the Openh323 programs?

In most cases, there are no manuals. Help on options can be found by running the program with the "--help" option.

6.4 - Is there a programming tutorial on OpenH323?

Vladimir Toncar has written a tutorial that can be viewed at http://toncar.cz/openh323/tut/. It is available in English, Brazlilian Portuguese and Spanish

6.5 - Is there documentation on audio codec plugins?

Yes - see http://www.voxgratia.org/docs/codec_plugins.html

6.6 - Where can I get documentation on the API for PWLib and OpenH323?

The header files for OpenH323 and PWLib contain API documentation in the Doc++ format. The recommended tool for converting the header files into documents (as of 17 May 2004) is Doxygen (see http://www.doxygen.org) which is much faster and more accurate than the original Doc++ (see http://docpp.sourceforge.net).

To create the documentation for any particular version of PWLib or OpenH323, run the command "make docs" in the "pwlib" or "openh323" directories. A directory called "html" will be created that contains the documentation in HTML format. Doxygen can also be used to create documents in RTF and LaTex format, as well as the compressed HTML format (.CHM) for Windows.

Up to date versions of the API documentation can be found online at http://www.voxgratia.org/docs/pwlib? and http://www.voxgratia.org/docs/openh323?. Compressed archives of the documentation for various releases can be found on the Vox Gratia download page at http://www.voxgratia.org/downloads.html

6.7 - What documentation is available for OpenH323?

A list of all documentation available for OpenH323 can be found at http://www.voxgratia.org/documents.html

A map (i.e. a list sorted by topic) of all documentation available for OpenH323 can be found at http://www.voxgratia.org/docs/document_map.html

6.8 - Where can I find the specification documents for H.323?

Copies of the specifications for H.323, H.225, H.245 and most related protocols can be found at http://www.packetizer.com/iptel/h323/standards.html

6.9 - Is there a document on the configure.exe program used for configuring OpenH323 and PWLib on Windows?

Yes, see http://www.voxgratia.org/docs/windows_configure.html


7. USING OPENH323

7.1 - When I make a call I get audio in only one direction. What is the problem?

You are probably behind a firewall and are trying to make a call to someone on the other side… See your software documentation for how to solve this problem

7.2 - I am behind a firewall and cannot receive incoming calls? Why not?

Incoming calls require incoming connections on port 1720. Make sure that your firewall is passing incoming connections on that port to your client, and that your machine supports operation behind a firewall.

7.3 - I can establish a connection but no audio is transferred. What is wrong?

Make sure the two endpoints share a common codec.

7.4 - How do I call NetMeeting with an OpenH323 client?

NetMeeting can inter-operate with an Open Source OpenH323 client using only a few audio and video codecs. These codecs are G.711 for audio and H.261 or H.263 for video.

The G.711 audio codec is available as an Open Source implementation and should be available on all OpenH323 endpoints that have audio enabled. It requires a 64 kbps connection and is only available in NetMeeting if it is configured for LAN bandwidth.

The H.261 video codec is available as an Open Source implementation should be available on all OpenH323 endpoints that have video enabled. The H.263 video codec, which used less bandwidth and provides better quality, may be available if the optional support has been enabled and the required external library is available.

Several people have added new Open Source audio codecs to NetMeeting that use much lower bandwidth:

  • GSM - it is possible to enable GSM codec under Netmeeting, but the previous instructions on how to do this are no longer available. If you have a reference for this, please email craigs@postincrement.com
  • SpeexW - As of the Janus release, OpenH323 supports the SpeexW codec that can be added to NetMeeting. See http://www.republika.pl/roed/speexw/ for more information

NetMeeting contains proprietary codecs such as G.723.1 that may be available on some OpenH323 clients. For example, MyPhone (see http://myphone.sourceforge.net) contains code that allows use of the MS-ACM G.723.1 codec on a Windows client. See 5.4 for more information

7.5 - I hear an echo when I speaking on a H.323 call - what is wrong?

The echo is most likely caused by audio coming out the speaker being picked up by the microphone. Either move the speaker and microphone further apart, reduce the speaker volume, or (best of all) use a headset or handset.

7.6 - How can I test whether my client is working?

A recorded message can be heard by making a call to h323.voxgratia.org. This service supports the Speex, iLBC, GSM, LPC-10 and G.711 codecs. A gatekeeper also available at gk.voxgratia.org on port 1719. See http://www.voxgratia.org/docs/test_systems.html#endpoint for more information

7.7 - I'm sure I have found a problem with OpenH323 - how do I report it?

See 4.10

7.8 - Why am I getting bad audio even though I am using the G.711 codec?

G.711 should sound as good as a normal phone call, because it is the same codec as used for ISDN and in telco switches. If you are not getting good audio, then you probably have one of the following problems:

  • your network is heavily congested. Try increasing the jitter buffer size.
  • your machine is too busy, or has a congested network interface. Close down other network-based or sound-based applications on the same machine.
  • G.711 may need as much as 75kps on a packet switched network, not 64kbps as commonly thought. (See http://www.voxgratia.org/docs/codecbw.html for a more detailed explanation of why this is so). Make sure that you are not using a low-speed link (such as dialup modem) that has sufficient bandwidth
  • your sound card uses small buffers. If you are using ohphone, try using the "--sound-buffers" option to increase the number of buffers (the default value is 3)

7.9 - Why am I getting bad audio when using the G.729 codec?

G.729 uses a small packet size(10ms) which can cause problems with certain sound cards that use small sound buffers. If you are experiencing broken audio when using the G.729 codec, increase the number of sound buffers from the default value of 3. How this is done will depend on your client, but with ohphone it is done using the "--sound-buffers" option.

7.10 - When I start OpenGK/OpenMCU2/OpenIVR as a windows service process it won't start due to "error 1053" or similar. How do I fix this problem?

This error is caused by the service process being unable to start for some reason, usually because a required DLL cannot be found. To fix this problem, it is important to understand that all service processes are started with C:\WINDOWS\SYSTEM32 as the current directory regardless of the actual location of the executable, which means that all DLLs must be either in this directory or in some directory specified by the PATH environment variable.

The relocation of the current directory also affects the loading of PWLib plugins such as codecs, because the current directory is always included in the list of directories that are searched for plugins. By default, a program searches for plugins in the tree of subdirectories starting at the current directory when the program is started. This search involves looking at each DLL in turn, and checking to see if it is PWLib plugin.

Unfortunately, there was an error in older versions of PWLib that supported plugins which had the undesirable side effect of actually loading every DLL that was found, rather than loading only DLLs that are PWLib plugins. This bug meant that every DLL in C:\WINDOWS\SYSTEM32 (and there a lot of them) was loaded when a program was run as a Windows service. This usually resulted in a program crash with strange warnings about weird DLLs not being found, or at the very least causing the program to take an unusually long time to start up.

This problem was fixed in revision 1.16 of pwlib/include/ptlib/pluginmgr.h which is included in all Pandora releases after Pandora RC2. At this time, this patch is not included in any Janus releases.

7.11 - How does OpenH323 support ENUM dialling?

OpenH323 automatically implements ENUM dialling (RFC 2916) for endpoints under the following conditions:

  • the destination number contains only digits
  • the destination address does not specify a gateway or gatekeeper
  • the endpoint is not configured to use a gatekeeper for address resolution

By default, the following domains will be used (in order) to resolve a DN using ENUM:

e164.voxgratia.net e164.org e164.arpa

This default path can be overridden by setting the PWLIB_ENUM_PATH environment variable to a list of domains separated by semi-colons (";") on Windows, or colons (":") on Unix

7.12 - I am getting "Blocked" or other incorrect results when using STUN - how do I fix this?

OpenH323 and OPAL contain support for the STUN (Simple Traversal of UDP Through NAT) protocol to simplify making calls from behind a NAT firewall. This protocol uses a remote STUN server to assist a client in detecting what kind of NAT is being used.

Prior to 26 October 2004, the STUN client code in PWLib used a timeout of 500ms when waiting for results from the STUN server. This timeout was acceptable for most networks, but could result in incorrect results when used on busy or low speed connections, or on hosts that do not enjoy good connectivity to the Vox Gratia STUN server (stun.voxgratia.org).

The STUN client code now uses a timeout of 5000ms which gives reliable results, with the possible side effect of increasing setup time for hosts with busy or low speed connections.

To see determine what timeout is used by your code, find the file pwlib/src/ptclib/pstun.cxx and look for the following code near line 449:

 socket.SetReadTimeout(xxxx);

If xxxx is set to 500, then it is old code and the number must be changed to 5000. If this change is made, then recompile PWLib as required, and re-link any programs using OpenH323.

7.13 - What are the different firewall types reported by STUN, and what do they mean?

OpenH323 and PWLib support the STUN protocol (see RFC 3489) for detecting and interoperating with NATs and firewalls. The STUN protocol can detect several different NAT and firewall configurations, but only some of these configurations support VoIP functions. The detected NAT types are as follows:

NAT TypeNATPort RestrictionsAddress TypeSupports VoIPDescription
BlockedNatUnknownUnknownUnknownNoHost has no connectivity that can be determined.
PartialBlockedNat or UnknownNat Uknown UnknownUnknownUnknownUnknown NAT type
OpenNatNoNoPublicYesHost has a public IP address and has unrestricted access to the Internet with no firewall or NAT restrictions
SymmetricFirewallNoYesPublicYes
(see note 1)
Same as OpenNAT, but some network entity (probably a firewall) is enforcing symmetric UDP connections. This means that a remote host can only send to an address/port on the source host if, and only if, it has previously received a connection from the source address/port.
ConeNatYesNoPrivateYesEach source address/port pair is mapped to a unique external address/port pair. Any external host can send to the internal host via the external address/port.
RestrictedNatYesYesPrivateYes
(see note 1)
Same as Cone, except an external host can only send to the internal host if, and only if, the internal host has previously sent a packet to the external host address.
PortRestrictedNatYesYesPrivateYes
(see note 1)
Same as RestrictedNat, except an external host can only send to the internal host if and only if, the internal host has previously sent to the external host address and port
SymmetricNatYesYesPrivateNoEach source address/port & destination address/port four-tuple is mapped to a unique external address/port pair. Only the destination address/port can send to the internal address/port.
Note 1: this NAT type requires the endpoint behind the NAT to send audio/video before it will receive any audio/video. This may not be possible in call cases.

The STUN requires the use of an external STUN server. Reitek S.p.a has generously provided a STUN server for use by Vox Gratia users which can be found at stun.voxgratia.org.

7.14 - Why I am seeing messages like "RTP Packet from SSRC=xxxxxxxx ignored, expecting SSRC=yyyyyyyy" with audio only in one direction?

The one-way audio and the warning message are caused by the endpoint changing the RTP SSRC identifier in the middle of a call. While strictly speaking this is not illegal, it is a strange thing for the endpoint to do as this makes the endpoint look like a hostile endpoint is attempting to insert audio into the session.

Unfortunately, some endpoints do change the SSRC identifier mid-call and by default OpenH323 will detect the condition and ignore the new data. The warning message above will be displayed when this condition occurs.

If you need to interoperate with endpoints that change SSRC mid-call, you can disable the checking of SSRC identifiers by editing the file openh323/src/rtp.c. Look for a line of code in the function RTP_Session::RTP_Session as follows:

 ignoreOtherSources = TRUE;

Change this to:

 ignoreOtherSources = FALSE;

7.15 - How many simultaneous calls can OPAL/OpenH323 handle?

The short answer is that it depends on your application, and the amount of CPU you have.

A more precise answer is that without any modification, a standard OPAL/OpenH323 application on Linux that handles both signalling and media will hit the per-process file handle limit at about 80 simultaneous calls. By increasing the per-process file handle limit to 16384 (using "ulimit") the maximum call density is around 1300 calls. If the calls always use H.245 tunnelling, this will increase to 110 and 1800. If the calls are signalling only, the limits are 330 and 5400.

The limits on Windows are around 1000 calls regardless of the call type.

An OpenH323 application can increase these limits further by enabling signalling aggregation. This feature is not yet available on OPAL.

A detailed description of the problem and the aggregation solution is available in the whitepaper "Increasing the maximum call density of OpenH323 and OPAL" (see http://www.voxgratia.org/docs/call%20thread%20handling%20model%201.0.pdf)


8. OPAL and OpenH323 applications

8.1 - What other projects use OpenH323?

The following Open Source projects are known to use OPAL or OpenH323:

  • Ekiga (formerly known as GnomeMeeting) - http://www.ekiga.org
    Client program for Windows, Linux, and other Unix platforms based on OPAL
  • CPhone - http://www.cphone.org
    Client program for Linux and Windows platforms based on OpenH323
  • GnuGK - http://www.gnugk.org
    A gatekeeper for Unix and Windows based on OpenH323
  • MyPhone - http://myphone.sourceforge.net
    Another client program based on OpenH323
  • Xmeeting - http://xmeeting.sourceforge.net/
    Client program for MacOSX based on OpenH323
  • OCX for OpenH323 - http://www.geocities.com/rddamian/
    An OCX control for OpenH323 that can be used in Visual Basic and MSIE. The page above seems to be out of date, but the latest sources can be found in the OpenH323 CVS in the contrib/DCOM directory.
  • YATE - http://yate.null.ro/pmwiki/
    Yate is Yet Another Telephone Engine and uses OpenH323 for H.323 functionality
  • Bayonne - http://www.gnu.org/software/bayonne/
    Bayonne is a telephony communications server that uses OpenH323 for H.323 functionality

If you know of any other projects, please email craigs@postincrement.com

8.2 What commercial and closed-source software uses Opal and OpenH323?

The following commercial software is known to use OPAL or OpenH323:

  • PacPhone - http://www.pacphone.com
    A softphone based on OpenH323 that supports encryption and authentication
  • Gridborg HMP - http://www.uniqall.com
    A software based media controller based on OPAL that supports voice and fax
  • Internet switchboard - http://www.quicknet.net
    ISB is a softphone based on OpenH323 that supports Quicknet's range of audio compression cards
  • Marratech Manager - http://www.maratech.com
    A cross-platform video conferencing solution from Marratech AB in Sweden using OpenH323.

If you know of any other products, please email craigs@postincrement.com

8.3 - What is the status of the OpenMCU program?

OpenMCU was originally created in May 2000 by Craig Southeren as a experiment to investigate some ideas about how an audio MCU might work. A description of the original motivations can be found at http://www.southeren.com/blog/archives/000050.html.

Over the next two years the code was modified by Derek Smithies and Roger Hardiman to include video capabilities and to add extra functions such as support for multiple rooms. The final result of this effort was OpenMCU v1.7.1 which supported both video and audio, but was unstable and difficult to understand. Guilhem Tardy has also released some notes on how to add H.263 support to OpenMCU at http://www.salyens.com/ffcodec/

OpenMCU version 2 was started in March 2004 with support from Citron Networks with intent of fixing the known problems with version 1. The code was almost completely rewritten to be more modular, and the stability issues were addressed. This work ended around August 2004 with a version that only supported audio.

A new project was started in March 2006 with the support of Stonevoice to restore video functionality to OpenMCU. In June 2006, OpenMCU 2.2.0 was released with full support for both audio and video including the H.261 and H.263 codecs.

8.4 - How do I use OpenH323 with Asterisk?

There are three different modules that interface Asterisk and OpenH323:

  • asterisk-oh323 by Michael Manousos - http://www.inaccessnetworks.com/projects/asterisk-oh323
    This channel driver module is compiled with OpenH323 and PWLib, and uses the low level audio interface of OpenH323. This driver uses the RTP stack and codecs within OpenH323.
  • channel_h323 by Jeremy McNamara - included as part of the standard Asterisk source package
    This channel driver module is compiled with OpenH323 and PWLib, and uses the external RTP interface of OpenH323. This driver uses the RTP stack and codecs from Asterisk
  • chan_woomera with Woomera by Anthony Minessale - www.pbxfreeware.org/chan_woomera
    This module uses a simple Asterisk channel driver called chan_woomera that does not contain any H.323 code. This driver communicates with a separate process called Woomera that contains OpenH323.

9. Programming

9.1 How do I create a program that uses OpenH323 for call control, but uses an external RTP device?

This is quite easy to do, and is explained in more detail at http://www.voxgratia.org/docs/external_rtp.html

9.2 - How do get a list of the codecs supported by OpenH323?

The static function H323PluginCodecManager::GetMediaFormats will return a list of all of the codecs that are supported by the current set of plugins and statically linked code without requiring any additional hardware. By default, this will include all of the audio codecs that can be converted to/from PCM-16. It will also include any video media formats that are supported by the stack. This will always include H.261 (if video is compiled into the stack) and H.263 (if support has been compiled and all necessary run-time loadable libraries are available).

The virtual function OpalLineInterfaceDevice::GetMediaFormats can be called on any instance of OpalLineInterfaceDevice or descendant to obtain the media formats supported by a specific hardware device.

See http://www.voxgratia.org/docs/codec_plugins.html for more information on the plugin codec system in OpenH323, including general information on codecs

9.3 - When I enable PMEMORY_CHECK, I see all sorts of memory leaks reported. How do I fix these?

There is a define called PMEMORY_CHECK that enabled all sorts of code in PWLib to check memory blocks allocated by the code. But this is turned off by default (even in debug mode) because the code it uses is pretty stupid. Not only does it slow down the entire stack by a significant amount, but it reports all sorts things as memory leaks when they really aren't. We got tired of people going into a panic when they saw the words "memory leak" and then having to explain why this was not a problem, so we just disabled it.

First of all, let's be clear what a memory leak is. The jargon file (see http://www.catb.org/~esr/jargon) defines a memory leak as:

An error in a program's dynamic-store allocation logic that causes it to fail to reclaim discarded memory, leading to eventual collapse due to memory exhaustion.

By this definition (which I agree with), a memory leak it is not just a memory block that is never freed, but it a problem with memory allocation that leads to memory exhaustion. This is an important distinction, because there are lots of places in PWLib, OpenH323 and OPAL where memory is allocated, but never freed, and these do not (and never will) lead to memory exhaustion because they are only allocated once and the reused for the lifetime of the program. The PFactory code is a good example of this.

It is these memory blocks that cause PMEMORY_CHECK to be a pain. It reports every one of these memory allocations as a memory leak even though they are not causing any problems. So why don't we just ensure that these memory blocks are cleaned up? Two reasons - firstly we don't have time to spend on issues that are not real problems; and secondly, it can be difficult to determine exactly when some of these memory blocks should actually be freed in order to avoid causing problems during shutdown. So we just choose to avoid the issue.


10. OPAL

10.1 - What is OPAL?

OPAL is the "next generation" of OpenH323 that has a new architecture. Not only does it support H.323 and SIP, but new VoIP protocols or devices can be added very easily. It is being actively developed and is used by several projects such as Ekiga (http://www.ekiga.org)

BTW: OPAL is an acronym for Open Phone Abstraction Library, but that is not really important :)

10.2 - Where can I download OPAL?

OPAL sources in both tar.gz and ZIP formats can be downloaded from the Vox Gratia web site at http://www.voxgratia.org/downloads.html

OPAL can also be extracted from the OpenH323 CVS using "opal" module name

10.3 - How do I compile OPAL?

Compiling OPAL is very similar to compiling OpenH323. Detailed instructions on compiling OPAL under Windows can be found at http://www.voxgratia.org/docs/opal_windows.html

10.4 - How do I use SimpleOPAL to make a call?

Most of the command line options for SimpleOPAL are fairly obvious, but some examples are always useful:

The following command makes a H.323 call to h323.voxratia.org without using a gatekeeper.

simpleopal -n h323:h323.voxgratia.org

The following command makes a SIP call to a remote endpoint without using a registrar.

simpleopal -n sip:192.168.1.247

To listen for incoming calls, use the "-l" option instead of the destination address.

For information on making calls to telephone numbers with SimpleOPAL, see 10.7 below

10.5 - Is OpenH323 now obsolete or deprecated now that OPAL is released?

For the foreseeable future, both OpenH323 and OPAL will continue to be maintained and updated. When we consider that OPAL has the same level of maturity and H.323 functionality as OpenH323, we will move OpenH323 into a maintenance-only mode. We're not sure when that will happen.

10.6 - Where can I find documentation on OPAL?

A reference document for the OPAL API can be extracted from the OPAL header files using the command "make docs". This command requires the Doxygen program. A copy of this documentation can be found at http://www.voxgratia.org/docs/opal

There is also a nice description of the OPAL architecture in a thesis written by Hadeel H. Taha titled "Architecture for a SIP-Based Conferencing Server". This document can be found at http://swt198.swt.fh-mannheim.de/gossip/download/Thesis_Taha.pdf and there is also a copy at http://www.voxgratia.org/docs/opal/Thesis_Taha.pdf

10.7 How do I use OPAL to make a call to a telephone number?

To make calls to a telephone number, you will need to use a service that provides a gateway between SIP or H.323 calls and the public switched telephone network. There are several such networks - some of these are free and some charge for calls. Instructions on using several such networks can be found below. Please email craigs@postincrement.com if you have information on any other calling services that are compatible with OPAL or OpenH323

Free World Dialup - http://fwd.pulver.com

This free service allows calls to a wide variety of SIP networks as well as US 1800 and 1866 numbers. The following command line can be used to make a test call to any FWD destination

 simpleopal -H -u userid -p password --register-sip fwd.pulver.com sip:number@fwd.pulver.com

Broadvoice - http://www.broadvoice.com

This subscription service offers both incoming and outgoing calls via SIP. The following command can be used to make outgoing calls:

 simpleopal -H --register-sip proxy.broadvoice.com \ 
--sip-proxy proxy.broadvoice.com \
--sip-domain sip.broadvoice.com \
-D *LBC* -D *Speex* \
-u userid -p \
password \
sip:number@sip.broadvoice.com

Note that is necessary to disable the Speex and iLBC codecs when using Broadvoice as the service will timeout or refuse calls containing these codecs.

Gizmoproject - http://www.gizmoproject.com

This service offers free outgoing calls to many countries and incoming calls from landlines for a fee. The following command line can be used to listen any destination

 simplopal -H -u userid --password password --register-sip proxy01.sipphone.com sip:number@proxy01.sipphone.com 

International (non-US) destination can be called by prefixing the number with the "+" character, such as "sip:+61243654666@proxy01.sipphone.com"


A. Change log

4 November 2007Ported from Vox Gratia FAQ to OpalVoip Wiki
24 March 2007Updated to reflect the changes to the mailing list
2 November 2006Added new information to 8.2
3 October 2006Added new email address in 1.4
25 August 2006Cleaned up reference to GnomeMeeting and some references to old versions in codec notes
30 July 2006Changed URL in 3.4 for viewing CVS via browser
24 July 2006Added 10.7 on various calling services
23 July 2006Added 4.35 on removal of Console Components
30 June 2006Updated 4.33 on VC 2005 Express problems
Added 4.34 on OpenH323 compile problems with multiple header versions installed
28 June 2006Added 4.33 on VC 2005 Express problems
Updated 8.3 on OpenMCU status
26 June 2006Added 4.32 on configure finding the wrong header files
Changed 4.6 to include info on Visual C++ 2005 Express Edition
9 June 2006Added more information on the OpenH323 OCX to 8.1
24 May 2006Updated 4.1 to note problems with installed bison/flex in dirs other than C:\TOOLS thanks to Jayme Pechan
Added OPAL build info to 4.5
22 April 2006Added Hannes Friederich to 1.15
Added XMeeting location to 3.2
Added Bayonne and YATE to 8.1
11 April 2006Removed product reference from 8.2 at the request of the product owner
3 April 2006Added 7.15 on call density
31 March 2006Modified 1.6, 1.15, 2.6, 3.2, 3.8, 3.9, 4.1, 7.8, 9.2 10.1, 10.5 thanks to John Bradshaw
Added 8.4 on Asterisk
24 March 2006Fixed typo in 7.4 and changed link in 7.6 thanks to John Bradshaw
Created section 8 for application information
23 March 2006Updated 3.9 and 3.11 on code names
6 March 2006Updated 1.11 on OpenMCU
24 January 2005Fixed text of 7.9 which appeared truncated
Updated 10.4 on Free World Dialup
16 December 2005Added 1.15
14 December 2005Added 4.31 on unix static linking
8 December 2005Added extra ambiguity to 5.17 on H.263 patent issues
12 November 2005Added 5.17 on using H.263 codecs
Added note on H.263 in OpenMCU to 1.11
11 November 2005Added 10.6 on OPAL documentation
3 October 2005Added 4.30 on statically linking applications on Windows
30 September 2005Added 9.3 on PMEMORY_CHECK
26 August 2005Added 1.4, 1.5 and 1.6 to describe licensing issues
6 July 2005Updated 3.1 on the "official" status of various download sites
27 June 2005Updated 6.6 on compressed documentation archives
19 June 2005Updated 2.11 on asking urgent questions
13 June 2005Added 7.14 on ignoring changing SSRC
9 May 2005Updated 1.7 to include Damien Slee's OCX control
7 March 2005Added 5.15 and 5.16 on Speex codecs and wideband
15 February 2005Updated 5.3 with links to some codec vendors
14 February 2005Added 4.29 on link problems
26 January 2005Fixed broken link in 4.12 thanks to Ely Schoenfeld
21 January 2005Added 5.14
9 December 2004Updated 3.11
29 November 2004Updated 10.4 on making calls with Broadvoice using simpleopal
26 November 2004Updated 6.9 on confgure.exe
25 November 2004Updated 7.13 on STUN
19 November 2004Added 4.27 and 4.28
10 November 2004Added 2.16 on asking general H.323 questions
1 November 2004Added 4.26 on ASN parser compiler errors
26 October 2004Added 7.12 on STUN problems
Renumbered and reorganised sections 1 and 2
Merged section 8 into section 1
Added section 7.13 on STUN
14 October 2004Updated 4.21 to include Janus patch 4 note
11 October 2004Added section 10 on OPAL
4 October 2004Added XMeeting to 8.1
1 October 2004More info to 3.9 on the Atlas release
22 September 2004Added 3.10 on where to get the GUI code
17 September 2004More info to 2.10
15 September 2004Added 2.10 on support for old versions of code
8 September 2004Added 6.8 on specification documents
7 September 2004Added 4.25 on include paths
4 September 2004Added 9.2 on getting lists of codecs
2 September 2004Added 7.11 on ENUM
31 August 2004Added 4.24 on configure finding incorrect directories
25 August 2004Added 5.13 and 7.9 on G729
Added 7.10 on Windows service process startup problems
24 August 2004Expanded 7.4 on NetMeeting codecs
Added 8.5 on OpenMCU
19 August 2004Added extra info to 4.22 on the GUI parts of PWLib that are no longer supported
Added 4.23 on VXML warnings
Added 2.9 on asking questions via email and IM
9 August 2004Added 3.9 on Janus and Pandora releases
6 August 2004Added 9.1 on External RTP
4 August 2004Added 4.21 on the removal of the ASNParser
Added 4.22 on the removal of the GUI code
24 July 2004Added 8.4 on NISCC vulnerabilities
Fixed contents link for 5.10
20 July 2004Added 3.3 and 3.4 on accessing the CVS
Changed 3.5 to reflect the availability of ZIP archives
11 July 2004Added 4.20 on ASN parser errors
9 July 2004Added 3.8 on why the openh323.org site is not up-to-date
5 July 2004Fixed reference to flexbison archive in 4.13
3 July 2004Added 4.17 and 4.18 on MSVC header file upgrades
Added 4.19 on .pdb file problems
Added 6.7 on document map
23 June 2004Added 4.16 on submitting patches
Updated 4.10 to refer to submitting patches
22 June 2004Updated 3.1 and 3.3 to refer to the Vox Gratia snapshot mirror
18 June 2004Changed 3.1 to provide Vox Gratia download site
Added link to text version of FAQ in 1.6
17 June 2004Added 5.12 and 7.8 on why G.711 does not always give perfect audio
11 June 2004Updated 5.5 to contain a link to Guilhem Tardy's patches for older versions of OpenH323
10 June 2004Updated 4.5 and 4.6 to contain links to the new Windows build instructions
27 May 2004Added 3.7 on downloading specific versions of the code
Updated 3.3 and 3.4 on CVS tags
Updated 5.2 to include URL of ITU web site
26 May 2004Added 5.11 on frames per packet
20 May 2004Added 8.2 on OPAL
Added 8.3 on milestones and development plans
17 May 2004Added 6.6 on API documentation
Added 5.6 on codec bandwidth calculations
Changed Vox Gratia documentation links
12 May 2004Updated 5.6 on adding codecs
Added 4.15 on reducing code size
10 May 2004Added 4.14 on Solaris
6 May 2004Added 4.13 on bison and flex
5 May 2004Added information on codec plugins
23 April 2004Updated information on H.263
20 April 2004Added 4.9 on vfakeio.cxx problems in old versions of PWLib
Added 4.10 and 7.7 on reporting bugs
8 April 2004Added more info on stupid Windows archiver problems
7 April 2004Added MyPhone to project list and fixed various typos
(thanks to Rolf Sponsel)
6 April 2004Moved to Vox Gratia
Added 3.5 on ZIP archives
Added 3.6 on version information
Updated 4.6 on VS.NET 2003
Added 7.6 on testing
23 March 2004Added 7.5 on echo
18 March 2004Added 4.5 on Windows OpenH323/PWLib build instructions
Added 4.6 on VS.NET 2003
Added 4.7 on ptbuildopts.h error
Added 4.8 on configure.exe missing/corrupt
Added 5.5 on on adding a new codec
Added 5.6 on H.263
Added 5.7 on audio codecs
Added 5.8 on video codecs
Added 6.4 on OpenH323 tutorial
1 March 2004First draft
Added lines 1-3:

See the OpenH323 FAQ

TODO: copy sections to this Wiki

Edit - History - Print - Recent Changes - Search
Page last modified on November 26, 2015, at 04:06 AM