8aff16b38d16617213fc4e02977f3fc7ae6c1d45
[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
12
13         Dependancies:           openssl-0.9.6b
14                                 openssl-devel-0.9.6b
15                                 expat-1.95
16                                 expat-dev-1.95
17
18 We have implemented this driver using Asterisk's RTP stack insted of trying
19 to implement a pseudo sound card driver. 
20
21 NOTICE: Whatever you do, DO NOT USE distrubution specific installs
22 of Open H.323 and PWLib. In fact you should check to make sure 
23 your distro didn't install them for you without your knowledge.
24 Check everything out of CVS. If you dont know how to deal with cvs, learn. 
25 Also, if you are not using the listed versions of Open H.323 or PWlib 
26 you are on your own, sorry. 
27
28 Warning: Older versions than listed will NOT work, but newer  versions 
29 ~should~ work but are untested and you would be on your own. 
30
31 As of June 16th, 2003 the release version of Open H.323 does not compile 
32 due to the G729Capability is missing. If you want G.729 support see
33 the Makefile.  
34
35 Some chan_h323 users have reported success and others have reported dramatic
36 failures when using newer versions of Open H.323. We haven't personally tested
37 this and will not be able to assist you if you have 'issues'. Sorry.
38
39 IN OTHER WORDS: Run Open H.323 v1.11.7 nothing newer nothing older if u want
40 this to work.
41
42
43 To compile this code:
44 Issue a make in the asterisk/channels/h323 directory, then go back to the Asterisk 
45 source top level directory and issue a make install.
46
47
48
49 Most common compile error:  
50
51 If you receive anything that says 'undefined symbol' you are experiencing
52 typical version skew.  For example:
53
54 libh323_linux_x86_r.so.1: undefined symbol: GetNumberValueAt__C14PAbstractArrayi
55
56 You need to search and destroy every version of libh323 and libpt then 
57 completely recompile everything
58
59 Example commands to make sure everything gets cleaned and then
60 rebult in proper order:
61
62 cd /path/to/pwlib
63 make clean opt
64 cd /path/to/openh323
65 make clean opt 
66 cd asterisk/channels/h323
67 make clean install   
68
69 (Note: Open H.323 or PWLib never get a 'make install' so don't do it)
70  
71
72 Most common run-time error:
73
74 libpt_linux_x86_r.so.1: cannot open shared object file: No such 
75 file or directory
76
77 You have not set the LD_LIBRARY_PATH environment variable.
78
79 Example environment for sh/bash:
80
81 PWLIBDIR=$HOME/pwlib
82 export PWLIBDIR
83 OPENH323DIR=$HOME/openh323
84 export OPENH323DIR
85 LD_LIBRARY_PATH=$PWLIBDIR/lib:$OPENH323DIR/lib
86 export LD_LIBRARY_PATH
87
88 We recomend puting the above directives into your /etc/profile so 
89 you do not have to remember to export those values every time you 
90 want to recompile.
91
92
93 If you still have trouble please contact 'JerJer' in #Asterisk on 
94 irc.freenode.net or send and email to jj@nufone.net
95
96 If you happen to be lucky enough to segfault this code please run a 
97 backtrace  and send me the gory details. Segmentation faults are not
98 tolerated, no matter what Distro you run!
99
100 bt example:
101
102 # /usr/sbin/asterisk -vvvgc
103 ...
104 [chan_h323.so]
105 Segmentation Fault (core dumped)
106
107 # ls core.*
108 core.1976
109
110 # gdb /usr/sbin/asterisk core.1976
111 ...lots of useless garbage here..
112 (gdb) bt
113
114 Send whatever shows up right after the 'bt'
115
116
117 Also, a full debug screen output is almost needed. Make sure you are 
118 in the full console mode (-c) and turn on 'h.323  debug'. A nice way 
119 to capture everything is to use the utility called 'script' (man script) 
120
121
122
123 Jeremy McNamara
124 The NuFone Network