mirror of https://github.com/asterisk/asterisk
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							143 lines
						
					
					
						
							3.9 KiB
						
					
					
				
			
		
		
	
	
							143 lines
						
					
					
						
							3.9 KiB
						
					
					
				| 		Open H.323 Channel Driver for Asterisk
 | |
| 	  	        By Jeremy McNamara  
 | |
| 		        For The NuFone Network
 | |
| 
 | |
| 	     First public release on November 10th, 2002
 | |
| 
 | |
| 		Dependancies:	openssl-0.9.6b+
 | |
| 				openssl-devel-0.9.6b+
 | |
| 	       			expat-1.95+
 | |
| 	       			expat-dev-1.95+
 | |
| 
 | |
| You must run Open H.323 v1.15.1 and PWLib v1.8.1. All other versions are not supported.
 | |
| You can find the Open H.323 source here: http://www.sf.net/projects/openh323/
 | |
| 
 | |
| NOTICE: Whatever you do, DO NOT USE distrubution specific installs
 | |
| of Open H.323 and PWLib. In fact, you should check to make sure 
 | |
| your distro did not install them for you without your knowledge.
 | |
| 
 | |
| 
 | |
| To compile this code
 | |
| --------------------
 | |
| Once PWLib and Open H.323 have been compiled per their specific build 
 | |
| instructions, issue  a make in the asterisk/channels/h323 directory, 
 | |
| then go back to the Asterisk source top level directory and issue a make
 | |
| install.
 | |
| 
 | |
| 
 | |
| The most common compile error  
 | |
| ----------------------------
 | |
| If you receive ANYTHING that says 'undefined symbol' you are experiencing
 | |
| typical version skew.  For example:
 | |
| 
 | |
| libh323_linux_x86_r.so.1: undefined symbol: GetNumberValueAt__C14PAbstractArrayi
 | |
| 
 | |
| You need to search and destroy every version of libh323 and libpt then 
 | |
| completely recompile everything
 | |
| 
 | |
| Example commands to make sure everything gets cleaned and then
 | |
| rebult in proper order:
 | |
| 
 | |
| cd /path/to/pwlib
 | |
| ./configure
 | |
| make clean opt
 | |
| cd /path/to/openh323
 | |
| ./configure
 | |
| make clean opt 
 | |
| cd /path/to/asterisk/channels/h323
 | |
| make  
 | |
| cd /path/to/asterisk
 | |
| make install 
 | |
| 
 | |
| 
 | |
| Most common run-time error
 | |
| -------------------------
 | |
| libpt_linux_x86_r.so.1: cannot open shared object file: No such 
 | |
| file or directory
 | |
| 
 | |
| You have not set the LD_LIBRARY_PATH environment variable.
 | |
| 
 | |
| Example environment for sh/bash:
 | |
| 
 | |
| PWLIBDIR=$HOME/pwlib
 | |
| export PWLIBDIR
 | |
| OPENH323DIR=$HOME/openh323
 | |
| export OPENH323DIR
 | |
| LD_LIBRARY_PATH=$PWLIBDIR/lib:$OPENH323DIR/lib
 | |
| export LD_LIBRARY_PATH
 | |
| 
 | |
| We recomend puting the above directives into your /etc/profile so 
 | |
| you do not have to remember to export those values every time you 
 | |
| want to recompile. Make sure to logout and log back in, so your
 | |
| envrionment can pick up the new variables.
 | |
| 
 | |
| 
 | |
| Upgrading Asterisk
 | |
| -----------------
 | |
| After you cvs update (or make update) Asterisk you have to go into
 | |
| asterisk/channels/h323 and issue a make clean all, before compiling the
 | |
| rest of asterisk. Doing this process every time you upgrade Asterisk
 | |
| will ensure a sane build.
 | |
| 
 | |
| 
 | |
| Dialing an H.323 channel
 | |
| ------------------------
 | |
| Without a gatekeeper:
 | |
| exten => _1NXXNXXXXXX,1,Dial,H323/${EXTEN}@peer
 | |
| or
 | |
| exten => _1NXXNXXXXXX,1,Dial,H323/${EXTEN}@ip.or.hostname
 | |
| 
 | |
| 'peer' is defined in h323.conf as:
 | |
| 
 | |
| [peer]
 | |
| type=peer
 | |
| host=1.2.3.4
 | |
| disallow=all
 | |
| allow=ulaw
 | |
| 
 | |
| Using a gatekeeper:
 | |
| exten => _1NXXNXXXXXX,1,Dial,H323/${EXTEN}
 | |
| 
 | |
| When using a gatekeeper you cannot utilize the type=peer features,
 | |
| since the H.323 spec states that when a Gatekeeper is part of an H.323 network, 
 | |
| the Gatekeeper shall be used for all communication. 
 | |
| 
 | |
| 
 | |
| Developer Contact
 | |
| ----------------
 | |
| If you have trouble contact 'JerJer' in #Asterisk on 
 | |
| irc.freenode.net and/or send reasonable debug information to support@nufone.net.
 | |
| 
 | |
| If are lucky enough to segfault this code please run a 
 | |
| backtrace and send the gory details. Segmentation faults are not
 | |
| tolerated, no matter what Distro you run (even debian)!
 | |
| 
 | |
| a simple bt example:
 | |
| 
 | |
| # /usr/sbin/asterisk -vvvgc
 | |
| ...
 | |
| [chan_h323.so]
 | |
| Segmentation Fault (core dumped)
 | |
| 
 | |
| # ls core.*
 | |
| core.1976
 | |
| 
 | |
| # gdb /usr/sbin/asterisk core.1976
 | |
| ...lots of useless garbage here...
 | |
| (gdb) bt
 | |
| 
 | |
| Send whatever shows up right after the 'bt'
 | |
| 
 | |
| Also, a full debug screen output is almost needed. Make sure you are 
 | |
| in the full console mode (-c) and turn on 'h.323 debug' or worst case
 | |
| senerio 'h.323 trace 4'. A nice way to capture debug info is with 
 | |
| script (man script). 
 | |
| 
 | |
| If you are motivated to update/fix this code please submit a 
 | |
| disclaimer along with the patch to the Asterisk bug 
 | |
| tracker: http://bugs.digium.com/
 | |
| 
 | |
| 
 | |
| Jeremy McNamara
 | |
| The NuFone Network 
 |