Update with current information
[asterisk/asterisk.git] / channels / h323 / README
1                 Open H.323 Channel Driver for Asterisk
2                         By Jeremy McNamara  
3                         For The NuFone Network
4
5              First public release on November 10th, 2002
6
7
8         Developed using:        RedHat 7.2/7.3/8.0
9                                 Open H.323 v1.11.7              
10                                 PWLib      v1.4.11
11                                 GCC   2.96/3.1/3.2
12
13         Dependancies:           openssl-0.9.6b
14                                 openssl-devel-0.9.6b
15                                 expat-1.95
16                                 expat-dev-1.95
17
18         Warning: Older versions than listed will NOT work. 
19
20 We have implemented this driver using Asterisk's RTP stack insted of trying
21 to implement a pseudo sound card driver. 
22
23 NOTICE: Whatever you do, DO NOT USE distrubution specific installs
24 of Open H.323 and PWLib. In fact you should check to make sure 
25 your distro didn't install them for you without your knowledge.
26 Check everything out of CVS. If you dont know how to deal with cvs, learn. 
27 Also, if you are not using the listed versions of Open H.323 or PWlib 
28 you are on your own, sorry. 
29
30
31
32 To compile this code:
33 You first need the latest release versions of PWLib and Open H.323 from
34 http://www.openh323.org/. Make sure you follow the build instructions EXCPLICTLY.
35
36 Once PWLib and Open H.323 have been compiled, issue a make in the asterisk/channels/h323 
37 directory, then go back to the Asterisk source top level directory and issue a make install.
38
39
40
41 Most common compile error:  
42
43 If you receive ANYTHING that says 'undefined symbol' you are experiencing
44 typical version skew.  For example:
45
46 libh323_linux_x86_r.so.1: undefined symbol: GetNumberValueAt__C14PAbstractArrayi
47
48 You need to search and destroy every version of libh323 and libpt then 
49 completely recompile everything
50
51 Example commands to make sure everything gets cleaned and then
52 rebult in proper order:
53
54 cd /path/to/pwlib
55 make clean opt
56 cd /path/to/openh323
57 make clean opt 
58 cd /path/to/asterisk/channels/h323
59 make  
60 cd /path/to/asterisk
61 make install 
62
63 (Note: Open H.323 or PWLib never get a 'make install' so don't do it)
64  
65
66 Most common run-time error:
67
68 libpt_linux_x86_r.so.1: cannot open shared object file: No such 
69 file or directory
70
71 You have not set the LD_LIBRARY_PATH environment variable.
72
73 Example environment for sh/bash:
74
75 PWLIBDIR=$HOME/pwlib
76 export PWLIBDIR
77 OPENH323DIR=$HOME/openh323
78 export OPENH323DIR
79 LD_LIBRARY_PATH=$PWLIBDIR/lib:$OPENH323DIR/lib
80 export LD_LIBRARY_PATH
81
82 We recomend puting the above directives into your /etc/profile so 
83 you do not have to remember to export those values every time you 
84 want to recompile.
85
86
87 If you still have trouble please contact 'JerJer' in #Asterisk on 
88 irc.freenode.net or send and email to jj@nufone.net
89
90 If you happen to be lucky enough to segfault this code please run a 
91 backtrace  and send me the gory details. Segmentation faults are not
92 tolerated, no matter what Distro you run!
93
94 bt example:
95
96 # /usr/sbin/asterisk -vvvgc
97 ...
98 [chan_h323.so]
99 Segmentation Fault (core dumped)
100
101 # ls core.*
102 core.1976
103
104 # gdb /usr/sbin/asterisk core.1976
105 ...lots of useless garbage here..
106 (gdb) bt
107
108 Send whatever shows up right after the 'bt'
109
110
111 Also, a full debug screen output is almost needed. Make sure you are 
112 in the full console mode (-c) and turn on 'h.323  debug'. A nice way 
113 to capture everything is with script (man script) 
114
115
116
117 Jeremy McNamara
118 The NuFone Network