123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- 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
|