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 Dependancies: openssl-0.9.6b openssl-devel-0.9.6b expat-1.95 expat-dev-1.95 We have implemented this driver 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. Warning: Older versions than listed will NOT work, but newer versions ~should~ work but are untested and you would be on your own. As of June 16th, 2003 the release version of Open H.323 does not compile due to the G729Capability is missing. If you want G.729 support see the Makefile. 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 asterisk/channels/h323 make clean install (Note: Open H.323 or PWLib never get a 'make install') 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@indie.org 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! bt example: # /usr/sbin/asterisk -vvvgc ... [chan_h323.so] Segmentation Fault (core dumped) # ls core.* core.1976 # gdb /usr/sbin/asterisk core.1976 ... (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 to use the utility called 'script' (man script) Jeremy McNamara, President The NuFone Network