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