Admin Commit 540c72c3e2 This commit was manufactured by cvs2svn to create branch 'v1-0'. преди 20 години
..
.cvsignore 540c72c3e2 This commit was manufactured by cvs2svn to create branch 'v1-0'. преди 20 години
ChangeLog 08896efb53 update changelog преди 22 години
INSTALL.openh323 cb29e2520b Merge major BSD mutex and symbol conflict patches (bug #1816) (link patch still pending) преди 21 години
Makefile a2c5caf3b7 add depend support for h323 (bug #2757) преди 20 години
README 38634f3bfc Add a bit more newbie protection преди 20 години
TODO 5328700a2b Update преди 22 години
ast_h323.cpp e391b6062d fix compilation of chan_h323 (bug 2786,2790,2669) преди 20 години
ast_h323.h 107e9cd299 support early media/intercept Bug #562 преди 20 години
chan_h323.h e391b6062d fix compilation of chan_h323 (bug 2786,2790,2669) преди 20 години
h323.conf.sample 1e0b090561 try to work around CCM interop, UNTESTED! Someone with a CCM needs to test this преди 21 години

README

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. Make sure to logout and log back in, so your
envrionment can pick up the new variables.


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.


Dialing an H.323 channel

Note: At the present time chan_h323 does not support dialing with a type=peer.

Without a gatekeeper:

exten => _1NXXNXXXXXX,1,Dial,H323/${EXTEN}@ip.address.or.hostname/callerid

Using a gatekeeper:

exten => _1NXXNXXXXXX,1,Dial,H323/${EXTEN}

The 'callerid' is optional. If omitted the callerid will be determined by
any type=h323 stanzas in h323.conf


Developer Contact

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