asterisk/channels/h323/README

120 lines
3.2 KiB
Plaintext
Raw Normal View History

Open H.323 Channel Driver for Asterisk
By Jeremy McNamara
For The NuFone Network
First public release on November 10th, 2002
Developed using: RedHat 7.2/7.3/8.0
Open H.323 v1.11.7
PWLib v1.4.11
GCC 2.96/3.1/3.2
Dependancies: openssl-0.9.6b
openssl-devel-0.9.6b
expat-1.95
expat-dev-1.95
Currently recomended versions: Open H.323 v1.12.2
PWLib v1.5.2
chan_h323 has been implemented using Asterisk's RTP stack insted of trying
to implement a pseudo sound card driver.
NOTICE: Whatever you do, DO NOT USE distrubution specific installs
of Open H.323 and PWLib. In fact you should check to make sure
your distro didn't install them for you without your knowledge.
Check everything out of CVS. If you dont know how to deal with cvs, learn.
Also, if you are not using the listed versions of Open H.323 or PWlib
you are on your own, sorry.
To compile this code:
You first need Open H.323 v1.12.2 and PWLib v1.5.2 from http://www.openh323.org/bin/. Make sure you
follow the build instructions EXPLICTLY at http://www.openh323.org/build.html.
Once PWLib and Open H.323 have been compiled, issue a make in the asterisk/channels/h323
directory, then go back to the Asterisk source top level directory and issue a make install.
Most common compile error:
If you receive ANYTHING that says 'undefined symbol' you are experiencing
typical version skew. For example:
libh323_linux_x86_r.so.1: undefined symbol: GetNumberValueAt__C14PAbstractArrayi
You need to search and destroy every version of libh323 and libpt then
completely recompile everything
Example commands to make sure everything gets cleaned and then
rebult in proper order:
cd /path/to/pwlib
make clean opt
cd /path/to/openh323
make clean opt
cd /path/to/asterisk/channels/h323
make
cd /path/to/asterisk
make install
(Note: Open H.323 or PWLib never get a 'make install' so don't do it)
Most common run-time error:
libpt_linux_x86_r.so.1: cannot open shared object file: No such
file or directory
You have not set the LD_LIBRARY_PATH environment variable.
Example environment for sh/bash:
PWLIBDIR=$HOME/pwlib
export PWLIBDIR
OPENH323DIR=$HOME/openh323
export OPENH323DIR
LD_LIBRARY_PATH=$PWLIBDIR/lib:$OPENH323DIR/lib
export LD_LIBRARY_PATH
We recomend puting the above directives into your /etc/profile so
you do not have to remember to export those values every time you
want to recompile.
If you still have trouble please contact 'JerJer' in #Asterisk on
irc.freenode.net or send and email to jj@nufone.net
If you happen to be lucky enough to segfault this code please run a
backtrace and send me the gory details. Segmentation faults are not
tolerated, no matter what Distro you run!
bt example:
# /usr/sbin/asterisk -vvvgc
...
[chan_h323.so]
Segmentation Fault (core dumped)
# ls core.*
core.1976
# gdb /usr/sbin/asterisk core.1976
...lots of useless garbage here..
(gdb) bt
Send whatever shows up right after the 'bt'
Also, a full debug screen output is almost needed. Make sure you are
in the full console mode (-c) and turn on 'h.323 debug'. A nice way
to capture everything is with script (man script)
Jeremy McNamara
The NuFone Network