README 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. Open H.323 Channel Driver for Asterisk
  2. By Jeremy McNamara
  3. For The NuFone Network
  4. First public release on November 10th, 2002
  5. Dependancies: openssl-0.9.6b
  6. openssl-devel-0.9.6b
  7. expat-1.95
  8. expat-dev-1.95
  9. This code runs on Open H.323 v1.12.2 and PWLib v1.5.2. If you use different
  10. versions, you are on your own. See the Makefile for more details.
  11. chan_h323 has been implemented using Asterisk's RTP stack insted of trying
  12. to implement a pseudo sound card driver. I feel this is more effiecent,
  13. due to the Asterisk.
  14. NOTICE: Whatever you do, DO NOT USE distrubution specific installs
  15. of Open H.323 and PWLib. In fact you should check to make sure
  16. your distro didn't install them for you without your knowledge.
  17. Check everything out of CVS. If you dont know how to deal with cvs, learn.
  18. Also, if you are not using the listed versions of Open H.323 or PWlib
  19. you are on your own, sorry.
  20. To compile this code:
  21. Once PWLib and Open H.323 have been compiled per their specific build instructions, issue
  22. a make in the asterisk/channels/h323 directory, then go back to the Asterisk source
  23. top level directory and issue a make install.
  24. Most common compile error
  25. If you receive ANYTHING that says 'undefined symbol' you are experiencing
  26. typical version skew. For example:
  27. libh323_linux_x86_r.so.1: undefined symbol: GetNumberValueAt__C14PAbstractArrayi
  28. You need to search and destroy every version of libh323 and libpt then
  29. completely recompile everything
  30. Example commands to make sure everything gets cleaned and then
  31. rebult in proper order:
  32. cd /path/to/pwlib
  33. ./configure
  34. make clean opt
  35. cd /path/to/openh323
  36. ./configure
  37. make clean opt
  38. cd /path/to/asterisk/channels/h323
  39. make
  40. cd /path/to/asterisk
  41. make install
  42. (Note: Open H.323 or PWLib never get a 'make install' so don't do it)
  43. Most common run-time error
  44. libpt_linux_x86_r.so.1: cannot open shared object file: No such
  45. file or directory
  46. You have not set the LD_LIBRARY_PATH environment variable.
  47. Example environment for sh/bash:
  48. PWLIBDIR=$HOME/pwlib
  49. export PWLIBDIR
  50. OPENH323DIR=$HOME/openh323
  51. export OPENH323DIR
  52. LD_LIBRARY_PATH=$PWLIBDIR/lib:$OPENH323DIR/lib
  53. export LD_LIBRARY_PATH
  54. We recomend puting the above directives into your /etc/profile so
  55. you do not have to remember to export those values every time you
  56. want to recompile. Make sure to logout and log back in, so your
  57. envrionment can pick up the new variables.
  58. Upgrading Asterisk
  59. After you cvs update (or make update) Asterisk you have to go into
  60. asterisk/channels/h323 and issue a make clean all, before compiling the
  61. rest of asterisk. Doing this process every time you upgrade Asterisk
  62. will ensure a sane build.
  63. Dialing an H.323 channel
  64. Note: At the present time chan_h323 does not support dialing with a type=peer.
  65. Without a gatekeeper:
  66. exten => _1NXXNXXXXXX,1,Dial,H323/${EXTEN}@ip.address.or.hostname/callerid
  67. Using a gatekeeper:
  68. exten => _1NXXNXXXXXX,1,Dial,H323/${EXTEN}
  69. The 'callerid' is optional. If omitted the callerid will be determined by
  70. any type=h323 stanzas in h323.conf
  71. Developer Contact
  72. If you are still having trouble contact 'JerJer' in #Asterisk on
  73. irc.freenode.net or send reasonable debug information to support@nufone.net.
  74. If you happen to be lucky enough to segfault this code please run a
  75. backtrace and send me the gory details. Segmentation faults are not
  76. tolerated, no matter what Distro you run!
  77. bt example:
  78. # /usr/sbin/asterisk -vvvgc
  79. ...
  80. [chan_h323.so]
  81. Segmentation Fault (core dumped)
  82. # ls core.*
  83. core.1976
  84. # gdb /usr/sbin/asterisk core.1976
  85. ...lots of useless garbage here..
  86. (gdb) bt
  87. Send whatever shows up right after the 'bt'
  88. Also, a full debug screen output is almost needed. Make sure you are
  89. in the full console mode (-c) and turn on 'h.323 debug' or worst case
  90. senerio 'h.323 trace 4'.
  91. If you are motivated to make debug show up on a remote (-r) console,
  92. please submit a patch to the Asterisk bug tracker: http://bugs.digium.com/
  93. A nice way to capture debug is with script (man script)
  94. Jeremy McNamara
  95. The NuFone Network