|
|
Subject: H263 / 4CIF / VCS VideoJet 100 - msg#00311
List: telephony.openh323.general
Hi,
I have a VCS VideoJet 100 which is a VoIp audio and
video server connected to a camera.
This video server can operate in H261 and H263
protocol.
For the H263, we can choose the video resolution :
Low : 176 x 144
Standard : 352 x 288
High : 704 x 288
The standard resolution is CIF.
The High resolution is a “semi” 4CIF with
the height divided par 2.
I can connect ohphone to the video server in H263
Standard, but for the 4CIF I can’t.
I have added the following statement in ohphone:
SetCapability(0,
1, new H323_RFC2190_H263Capability(0, 0, 0, 8, 0, maxbps));
And
AddCapability(new
H323_RFC2190_H263Capability(0, 0, 0, 8, 0, maxbps));
I am not sure of the 4th parameter of AddCapability
: 8.
And of course, this does not works.
I don’t know where to start and how to proceed.
Is it possible to modify the capability, the codec and perhaps the H245
parameters in order to work with this semi 4CIF format ?
Any help, suggestion, web link, ideas are very
welcome.
Many thanks
Armand Bendanan
SOFRELOG
http://www.sofrelog.com
France
Was this page helpful?
Thread at a glance:
Previous Message by Date:
click to view message preview
Re: Crashes of OpenH323 when making outgoing calls.
Hi Ben,
Ben Lear wrote:
Hey Michael,
From: openh323-admin@xxxxxxxxxxxx
On Behalf Of Michael Manousos
Hi,
I'm stress testing Asterisk with asterisk-oh323 by generating
50-90 simultaneous calls, with a rate of 3-4 calls/sec, using
2-3 instances of callgen323.
I'm testing two scenarios: a) All these calls are terminated
in Asterisk and a voice prompt is played back, b) All these
incoming calls trigger outgoing H.323 calls through Asterisk.
I'm getting two different results. In the first case, the
behavior of Asterisk+oh323+OpenH323 is quite stable with
flawless operation. In the second case, I receive frequently
segfaults with the same backtrace each time (see attached file).
I'm using OpenH323 1.13.5, Pwlib 1.6.6.
Is there any obvious explanation about these crashes?
Are there known issues in OpenH323/Pwlib for the case that I
just described and that I should take into account in the
implementation?
[...]
As far as I can tell, you "case" is simply incomming calls work, though if
incomming calls trigger an outgoing call then problems occur. Further, your
trace reports the problem is related to call setup(a "H323Connection"), more
specifically the destruction of the same. I'm not aware of any current
OpenH323 issuess related to the case described, though your implimentation
is a little specialized and would not have received the testing the
"standard" way of implimenting the library has, so it could very well be
that a bug is indeed burried deep in the code somewhere.
In anycase, it would be interesting to determine if the problem is related
to calls being simulataneously made and received within the wrapped H.323
stack, OR just generating numerous outgoing calls full stop triggers the
problem. Have you tried the later?
I think yes with the same result. I'll try again anyway to confirm it.
Also, the debug logs would be nice to determine what was actually going on
when the problem occurred. For instance, was the call which cause the
connection destruction aborted, completed normally, or failed during setup
etc.
Unfortunately there are so many calls going in and out that the log
files of the library are quite huge and difficult to read.
Cheers,
Ben.
Thanks,
Michael.
------------------------------------------------------------------------
Check the FAQ before asking! - http://www.openh323.org/~openh323/fom.cgi
The OpenH323 Project mailing list, using Mailman. To unsubscribe or
change your subscription options, goto
http://www.openh323.org/mailman/listinfo/openh323
Maintained by Quicknet Technologies, Inc - http://www.quicknet.net
------------------------------------------------------------------------
Next Message by Date:
click to view message preview
Re: Crashes of OpenH323 when making outgoing calls.
Michael,
you wrote:
> The usage of the pointer returned by GetCallToken() is shown below:
>
> funca()
> {
>
> ...
> cd.call_token = (const char *)connection.GetCallToken();
> ...
> funcb(cd);
> }
>
> funcb(some struct cd)
> {
> ...
> mycopy(&cd, &newcd);
> ...
> }
>
> mycopy(some struct *cd_src, some struct *cd_dst)
> {
> /* The structs have only pointers to strings, so we allocate
> memory with this function for 'cd_dst' and copy the strings
> from 'cd_src' to 'cd_dst' */
> ...
> }
>
>
> So, the pointer returned by GetCallToken is used just to access the
> bytes and copy them into our copy. I don't see something invalid here.
>
No nO no no. It is invalid. This is a serious race condition. You know
that openh323 is a multithreaded application.
What happens if the call closes down after funca, but before funcb ?
Craig's suggestion of using strdup is very good, and should be followed.
I described a test on the asterisk list of how I crashed asterisk in 5
minutes, using Jeremy's code and one local ohphone box.
I cannot find the link to that email, but here goes:
asterisk + chan_h323 on 1333 athalon box
ohphone on 733 mhz box with qti card.
ohphone -l -q0 --autorepeat 100000 --autodisconnect 0 destnode
Oh, if asterisk does not have a destination set for the incoming h323
call, even better. You should repeat this test.
Derek.
====================================================================
On Tue, 20 Jul 2004, Michael Manousos wrote:
>
> Hi Derek,
>
> Derek Smithies wrote:
> > Michael,
> > Given the information supplied, one must speculate a bit as to the cause.
> >
> > I could say, "to the logs", quoting Robert. However, given the call
> > volume, not a particularly easy thing to do. You could write an analysis
> > program to read logfile and determine how far the failed calls go before
> > they crash.. Not easy.
>
> The logfile produced by OpenH323 is really, really huge, and that
> is why I didn't include it.
>
> >
> > Some might suggest a version upgrade. Not really feasible for you, and not
> > a guaranteed fix.
>
> Yes, this is not option at this time. OpenH323 v1.7.x has some changes
> that break asterisk-oh323. Eventually I'll upgrade, but as you notice
> this is not a guaranteed fix.
>
> >
> > I have looked though oh-323 code before, and it all looks "OK".
>
> Nice to hear this from you, thanks!
>
> > However, one point I would make, is the following.
> >
> > Lines like:
> > cd.call_token = (const char *)connection.GetCallToken();
> >
> > are most unwise.
> > cd.call_token is given a pointer to the internal string which holds the
> > call token. At some later time, the call token may be
> > removed/changed/deleted/closed. However, the pointer in cd.call_token is
> > still there, even though the structure pointed to has gone.
> >
> > My view is that you can use lines like:
> > cd.call_token = (const char *)connection.GetCallToken();
> > with considerable care.
> >
> > I would suggest you avoid having pointers to the internal structures of
> > PStrings.
>
> The usage of the pointer returned by GetCallToken() is shown below:
>
> funca()
> {
>
> ...
> cd.call_token = (const char *)connection.GetCallToken();
> ...
> funcb(cd);
> }
>
> funcb(some struct cd)
> {
> ...
> mycopy(&cd, &newcd);
> ...
> }
>
> mycopy(some struct *cd_src, some struct *cd_dst)
> {
> /* The structs have only pointers to strings, so we allocate
> memory with this function for 'cd_dst' and copy the strings
> from 'cd_src' to 'cd_dst' */
> ...
> }
>
>
> So, the pointer returned by GetCallToken is used just to access the
> bytes and copy them into our copy. I don't see something invalid here.
>
> >
> > =========================================
> > Second approach.
> >
> > Leak testing.
> > Have you done any memory leak testing?
> >
> > Please, Remove ALL memory leaks.
> > This is required.
>
> I have done testing for memory leaks, by letting it up and running
> (processing calls) for a long period and monitoring the VM and RSS
> sizes that it uses. And there is no significant increase of them
> after the test. What else can I try?
>
>
> >
> > Derek.
> >
>
>
> Michael.
>
>
> > ======================================================================
> >
> > On Mon, 19 Jul 2004, Michael Manousos wrote:
> >
> >
> >>Hi,
> >>
> >>I'm stress testing Asterisk with asterisk-oh323 by generating
> >>50-90 simultaneous calls, with a rate of 3-4 calls/sec, using
> >>2-3 instances of callgen323.
> >>
> >>I'm testing two scenarios: a) All these calls are terminated
> >>in Asterisk and a voice prompt is played back, b) All
> >>these incoming calls trigger outgoing H.323 calls through Asterisk.
> >>I'm getting two different results. In the first case, the
> >>behavior of Asterisk+oh323+OpenH323 is quite stable with
> >>flawless operation. In the second case, I receive frequently
> >>segfaults with the same backtrace each time (see attached file).
> >>I'm using OpenH323 1.13.5, Pwlib 1.6.6.
> >>
> >>Is there any obvious explanation about these crashes?
> >>Are there known issues in OpenH323/Pwlib for the case that I
> >>just described and that I should take into account in the
> >>implementation?
> >>
> >>Thanks in advance,
> >>
> >>Michael.
> >>
> >>
> >>
> >
> >
>
> ------------------------------------------------------------------------
> Check the FAQ before asking! - http://www.openh323.org/~openh323/fom.cgi
> The OpenH323 Project mailing list, using Mailman. To unsubscribe or
> change your subscription options, goto
> http://www.openh323.org/mailman/listinfo/openh323
> Maintained by Quicknet Technologies, Inc - http://www.quicknet.net
> ------------------------------------------------------------------------
>
>
>
--
Derek Smithies Ph.D. This PC runs pine on linux for
email
IndraNet Technologies Ltd. If you find a virus apparently
from me, it has
Email: derek@xxxxxxxxxxxxxx forged the e-mail headers on
someone else's machine
ph +64 3 365 6485 Please do not notify me when
(apparently) receiving a
Web: http://www.indranet-technologies.com/ windows virus from me......
------------------------------------------------------------------------
Check the FAQ before asking! - http://www.openh323.org/~openh323/fom.cgi
The OpenH323 Project mailing list, using Mailman. To unsubscribe or
change your subscription options, goto
http://www.openh323.org/mailman/listinfo/openh323
Maintained by Quicknet Technologies, Inc - http://www.quicknet.net
------------------------------------------------------------------------
Previous Message by Thread:
click to view message preview
OpenH323 FAQ - automatic post 21 July 2004
OpenH323 Frequently Asked Questions
Automatically posted 21 July 2004
See http://www.voxgratia.org/docs/faq.html for the latest version
Last updated 20 July 2004
1. MAILING LIST
1.1 - How do I subscribe to the mailing list?
1.2 - How do I unsubscribe from the mailing list?
1.3 - How do I make a posting to this mailing list?
1.4 - There is too much traffic on this mailing list. Is there a
digest?
1.5 - Is there an searchable archive of this list available?
1.6 - How can I get this FAQ?
1.7 - My question is not answered by this FAQ, how can I make a
suggestion?
1.8 - Who maintains this FAQ?
1.9 - Who owns this list - who do I complain to about problems?
1.10 - What are the mailing lists on SourceForge used for?
1.11 - Why aren't there separate lists for users and developers
like other projects?
2. USING THE OPENH323 LIST
2.1 - What is the mailing list used for?
2.2 - What is the mailing list *not* used for?
2.3 - Are there any rules?
2.4 - Who enforces the rules?
2.5 - How can I ensure someone will answer my question?
2.6 - But I really need an URGENT answer to my question?
2.7 - Who answers questions on the list?
2.8 - I want to help by answering questions? How do I do this?
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 are you telling me that I am not using the latest code
even though I've download the the latest PWlib 1.5.2 and OpenH323
1.12.2 from the openh323.org site?
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
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)" ?
5. CODECS
5.1 - Why is there no G.723.1/G.729 codec in 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 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?
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?
7. USING 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?
8. MISC
8.1 - What other projects use OpenH323?
8.2 - What is OPAL?
8.3 - What are the development plans for OpenH323 and OPAL?
Change Log
_________________________________________________________________
1. MAILING LIST
1.1 - How do I subscribe to the mailing list?
The only way to subscribe is via the form on the this web page:
http://www.openh323.org/mailman/listinfo/openh323
1.2 - How do I unsubscribe from the mailing list?
The only way to unsubscribe is via the form at the bottom of this web
page: http://www.openh323.org/mailman/listinfo/openh323
1.3 - How do I make a posting to this mailing list?
Send an email to openh323@xxxxxxxxxxxx
1.4 - There is too much traffic on this 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?"
1.5 - Is there an searchable archive of this list available?
Yes. See http://www.openh323.org/pipermail/openh323/
1.6 - How can I get this FAQ?
This 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.7 - My question is not answered by this FAQ, how can I make a
suggestion?
Send any suggestions by email to openh323@xxxxxxxxxxxxxxxxx
1.8 - Who maintains this FAQ?
This FAQ is maintained by Craig Southeren of Post Increment who can be
reached by email at craigs@xxxxxxxxxxxxxxxxx
1.9 - Who owns this list - who do I complain to about problems?
The OpenH323 mailing list is operated by Quicknet Technologies.
Problems regarding the operation of the list can be sent to Bruce
Ferrell at bferrell@xxxxxxxxxxxx
1.10 - What are the mailing lists on SourceForge used for?
They are not used.
1.11 - Why aren't there separate lists for users and developers like
other projects?
It was tried, and it failed.
_________________________________________________________________
2. USING THE OPENH323 LIST
2.1 - What is the mailing list used for?
This list is used for asking any questions related to the OpenH323
project or related technologies.
2.2 - 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.3 - Are there any rules?
No flaming. No trolls. Be nice. Be warned.
2.4 - 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
Bruce Ferrell 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.5 - 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.6 - 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 looking like a complete loser.
2.7 - 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.8 - 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.
_________________________________________________________________
3. DOWNLOADING CODE
3.1 - Where can I download source code from?
Source code is always available from the SourceForge web site at
http://sourceforge.net/project/showfiles.php?group_id=80674, and
from the SourceForge CVS server (see 3.4 below for details on how
to access the repository).
Source code releases are also available from the Vox Gratia web site
at http://www.voxgratia.org/downloads.html
The GnomeMeeting project also maintains source code tarballs
(Linux only) at http://snapshots.seconix.com and
http://snapshots.voxgratia.org
Please do not use the sources from the main OpenH323 web site. As of
18 June 2004, this page was at least a year out of date
3.2 - Where can I download binaries from?
The GnomeMeeting team maintain up to date binary packages for OpenH323
and PWLib at http://www.gnomemeeting.org/index.php?rub=5&pos=0
Other binaries can be found at
http://www.openh323.org/code.html#linux and
http://www.openh323.org/code.html#windows
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 GnomeMeeting 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 chose from:
Tag Description
(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
CURRENT the most recently compilable development source code used by
the developers. Will compile and will run, but may contain some
problems
PREVIOUS the last version of "CURRENT"
DEVEL the current released development code
STABLE the 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://cvs.sourceforge.net/viewcvs.py/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, [116]4.7 and [117]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 are you telling me that I am not using the latest code even
though I've download the the latest PWlib 1.5.2 and OpenH323 1.12.2
from the openh323.org site?
Even though openh323.org is the official home of the OpenH323 project,
this web site has not been noticeably changed for over a year (as of 9
July 2004). The most recent information, including downloads, can be
found at http://www.voxgratia.org
_________________________________________________________________
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.
4.2 - Microsoft Visual Studio will not load the DSP and DSW files
provided with OpenH323
You have downloaded the source archive, and then used an archive
program that does not correctly handle tar.gz files under Windows. We
recommend using WinZIP. To fix this problem, load the DSP and DSW
files into a text editor and fix the end of line characters.
If you have this problem, you most likely will have the the problems
described in 4.7 and [123]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 OpenH323 and PWLib
on Windows?
Instructions for compiling OpenH323 and PWLib on Windows can be found
at 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?
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.
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 for a
possible explanation
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 ?
If you are using a version of PWLib prior to 1.7, 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
Infomation). 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/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 are 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/[139]docs/pwlib_windows.html#msvc_header
s 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
_________________________________________________________________
5. CODECS
5.1 - Why is there no G.723.1/G.729 codec in 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.
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 OpenH323?
If you are using the current development version of OpenH323 such as
the Janus release or any version prior to OpenH323 v1.14), 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 in OpenH323 for how
to do this.
If you are using a OpenH323 v1.14 or later, then you have access to
plugin codecs. See
http://www.voxgratia.org/docs/codec_plugins.html for more
information.
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 (currently non-standard)
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
_________________________________________________________________
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 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 the API documentation can be found online
at http://www.voxgratia.org/docs/pwlib and
http://www.voxgratia.org/docs/openh323. Compressed archives of
these documents can also be downloaded from
http://www.voxgratia.org/docs/pwlib-htmldoc.tar.gz and
http://www.voxgratia.org/docs/openh323-htmldoc.t
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
_________________________________________________________________
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?
Make sure that NetMeeting and the client both share a common codec. By
default this can only be G.711 (make sure NetMeeting is configured for
LAN bandwidth). It is possible to add support for GSM to NetMeeting -
see http://www.gnomemeeting.org/index.php?rub=5&pos=0 for more
information (look near the bottom for the section labelled
"Netmeeting-GSM Packages by Roger Hardiman")
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 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 do not
have a low-speed link (such as dialup modem) that does not have
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)
_________________________________________________________________
8. MISC
8.1 What other projects use OpenH323?
GnomeMeeting - http://www.gnomemeeting.org
Client program for Linux and other Unix platforms
CPhone - http://www.cphone.org
Client program for Linux and Windows platforms
GnuGK - http://www.gnugk.org
A gatekeeper for Unix and Windows
MyPhone - http://myphone.sourceforge.net
Another client program
8.2 - 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 also based on PWLib and is
undergoing the final stages of development at this time (20 May 2004)
BTW: OPAL is an acronym for Open Phone Abstraction Library, but that
is not really important :)
8.3 - 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
_________________________________________________________________
Copyright (C) 2004 by Post Increment, All Right Reserved
http://www.postincrement.com
All trademarks and copyrights on this page are owned by their respective owners
------------------------------------------------------------------------
Check the FAQ before asking! - http://www.openh323.org/~openh323/fom.cgi
The OpenH323 Project mailing list, using Mailman. To unsubscribe or
change your subscription options, goto
http://www.openh323.org/mailman/listinfo/openh323
Maintained by Quicknet Technologies, Inc - http://www.quicknet.net
------------------------------------------------------------------------
Next Message by Thread:
click to view message preview
H263 / 4CIF / VCS VideoJet 100
Armand,
> I have a VCS VideoJet 100 which is a VoIp audio and video server
> connected to a camera.
>
> This video server can operate in H261 and H263 protocol.
>
> For the H263, we can choose the video resolution :
> Low : 176 x 144
> Standard : 352 x 288
> High : 704 x 288
I am familiar with the latter. Some companies use it to transmit one field of
an interlaced 4CIF video, thus saving them the deinterlacing. Let's call this
2CIF from now on.
> I can connect ohphone to the video server in H263 Standard,
> but for the 4CIF I can't.
First, would you consider submitting your interoperability result to
http://www.salyens.com/?page=interop
As you noted, "High" is only half the size of 4CIF, and thus it is normal that
it not interoperates with standard compliant software such as ohphone.
The capabilities that you instantiated are standard, and 4CIF is not 2CIF.
> I am not sure of the 4th parameter of AddCapability : 8.
This means an 1/8th of 29.97Hz, and thus says that you expect to
transmit/receive at no more than 3.75Hz.
> I don't know where to start and how to proceed. Is it possible to modify
> the capability, the codec and perhaps the H245 parameters in order to work
> with this semi 4CIF format ?
How important is it for you to remain standard?
The only way to remain standard compliant while transmitting/receiving this
2CIF format is to upgrade to H.263+ or MPEG-4. Both codecs allow custom sizes
and better compression.
Please see http://www.salyens.com/ or contact me off-list (French is fine, too)
for further information.
Guilhem.
__________________________________
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail
------------------------------------------------------------------------
Check the FAQ before asking! - http://www.openh323.org/~openh323/fom.cgi
The OpenH323 Project mailing list, using Mailman. To unsubscribe or
change your subscription options, goto
http://www.openh323.org/mailman/listinfo/openh323
Maintained by Quicknet Technologies, Inc - http://www.quicknet.net
------------------------------------------------------------------------
|
|