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