![jeremy](/assets/img/avatar_default.png)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3083 f38db490-d61c-443f-a65b-d21fe96a405b
124 lines
3.5 KiB
Text
Executable file
124 lines
3.5 KiB
Text
Executable file
Open H.323 Channel Driver for Asterisk
|
|
By Jeremy McNamara
|
|
For The NuFone Network
|
|
|
|
First public release on November 10th, 2002
|
|
|
|
|
|
Dependancies: openssl-0.9.6b
|
|
openssl-devel-0.9.6b
|
|
expat-1.95
|
|
expat-dev-1.95
|
|
|
|
This code runs on Open H.323 v1.12.2 and PWLib v1.5.2. If you use different
|
|
versions, you are on your own. See the Makefile for more details.
|
|
|
|
chan_h323 has been implemented using Asterisk's RTP stack insted of trying
|
|
to implement a pseudo sound card driver. I feel this is more effiecent,
|
|
due to the Asterisk.
|
|
|
|
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:
|
|
Once PWLib and Open H.323 have been compiled per their specific build instructions, 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
|
|
./configure
|
|
make clean opt
|
|
cd /path/to/openh323
|
|
./configure
|
|
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.
|
|
|
|
|
|
Note Upgrading Asterisk:
|
|
|
|
After you cvs update (or make update) Asterisk you have to go into
|
|
asterisk/channels/h323 and issue a make clean all, before compiling the
|
|
rest of asterisk. Doing this process every time you upgrade Asterisk
|
|
will ensure a sane build.
|
|
|
|
|
|
If you are still having trouble contact 'JerJer' in #Asterisk on
|
|
irc.freenode.net or send reasonable debug information to support@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' or worst case
|
|
senerio 'h.323 trace 4'.
|
|
|
|
If you are motivated to make debug show up on a remote (-r) console,
|
|
please submit a patch to the Asterisk bug tracker: http://bugs.digium.com/
|
|
|
|
A nice way to capture debug is with script (man script)
|
|
|
|
Jeremy McNamara
|
|
The NuFone Network
|