Add chan_h323 support for asterisk, closes #122
Add chan_h323 support for asterisk, closes #122


git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3447 3c298f89-4303-0410-b956-a3cf2f4a3e73

--- a/package/Makefile
+++ b/package/Makefile
@@ -406,7 +406,7 @@
 xsupplicant-compile: openssl-compile
 ipsec-tools-compile: openssl-compile
 
-asterisk-compile: bluez-libs-compile ncurses-compile openssl-compile
+asterisk-compile: bluez-libs-compile ncurses-compile openssl-compile openh323-compile
 ifneq ($(BR2_PACKAGE_ASTERISK_CODEC_SPEEX),)
 asterisk-compile: speex-compile
 endif

--- a/package/asterisk/Config.in
+++ b/package/asterisk/Config.in
@@ -20,6 +20,15 @@
 	select BR2_PACKAGE_BLUEZ_LIBS
 	help
 	  The Bluetooth HandsFreeProfile support for Asterisk
+
+config BR2_PACKAGE_ASTERISK_CHAN_H323
+	prompt	"asterisk-chan-h323.............. H.323 support for Asterisk"
+	tristate
+	default m if CONFIG_DEVEL
+	depends BR2_PACKAGE_ASTERISK
+	select BR2_PACKAGE_OPENH323
+	help
+	  H.323 support for Asterisk
 
 config BR2_PACKAGE_ASTERISK_CHAN_MGCP
 	prompt   "asterisk-chan-mgcp.............. Media Gateway Control Protocol implementation"

--- a/package/asterisk/Makefile
+++ b/package/asterisk/Makefile
@@ -23,6 +23,7 @@
 $(eval $(call PKG_template,ASTERISK_VOICEMAIL,asterisk-voicemail,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
 $(eval $(call PKG_template,ASTERISK_SOUNDS,asterisk-sounds,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
 $(eval $(call PKG_template,ASTERISK_CHAN_BLUETOOTH,asterisk-chan-bluetooth,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,ASTERISK_CHAN_H323,asterisk-chan-h323,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
 $(eval $(call PKG_template,ASTERISK_CHAN_MGCP,asterisk-chan-mgcp,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
 $(eval $(call PKG_template,ASTERISK_CHAN_SKINNY,asterisk-chan-skinny,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
 $(eval $(call PKG_template,ASTERISK_CODEC_ILBC,asterisk-codec-ilbc,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
@@ -57,6 +58,21 @@
 	touch $@
 
 $(PKG_BUILD_DIR)/.built:
+	(cd $(PKG_BUILD_DIR)/channels/h323/ ; \
+		$(MAKE) \
+		CROSS_ARCH="Linux" \
+		CROSS_COMPILE="$(TARGET_CROSS)" \
+		CROSS_COMPILE_BIN="/void/" \
+		CROSS_COMPILE_TARGET="/void/" \
+		$(TARGET_CONFIGURE_OPTS) \
+		HOST_CC="$(HOSTCC)" \
+		OPTIMIZE="$(TARGET_CFLAGS)" \
+		PROC="$(ARCH)" \
+		DEBUG="" \
+		OPTIONS="-DLOW_MEMORY -Dlinux" \
+		OPENH323DIR=$(BUILD_DIR)/openh323-cvs-20051230 \
+		opt ; \
+	);
 	$(MAKE) -C "$(PKG_BUILD_DIR)" \
 		CROSS_ARCH="Linux" \
 		CROSS_COMPILE="$(TARGET_CROSS)" \
@@ -77,6 +93,8 @@
 		EXTRA_RES_MODULES="$(EXTRA_RES_MODULES)" \
 		DESTDIR="$(PKG_INSTALL_DIR)" \
 		ASTVARLIBDIR="/usr/lib/asterisk" \
+		OPENH323DIR=$(BUILD_DIR)/openh323-cvs-20051230 \
+		PWLIBDIR=$(BUILD_DIR)/pwlib \
 		all install samples
 	rm -f $(PKG_INSTALL_DIR)/etc/asterisk/*.old
 	touch $@
@@ -203,6 +221,14 @@
 	$(RSTRIP) $(IDIR_ASTERISK_CHAN_BLUETOOTH)
 	$(IPKG_BUILD) $(IDIR_ASTERISK_CHAN_BLUETOOTH) $(PACKAGE_DIR)
 
+$(IPKG_ASTERISK_CHAN_H323):
+	install -d -m0755 $(IDIR_ASTERISK_CHAN_H323)/etc/asterisk
+	install -m0644 $(PKG_BUILD_DIR)/channels/h323/h323.conf.sample $(IDIR_ASTERISK_CHAN_H323)/etc/asterisk/h323.conf
+	install -d -m0755 $(IDIR_ASTERISK_CHAN_H323)/usr/lib/asterisk/modules
+	install -m0755 $(PKG_BUILD_DIR)/channels/chan_h323.so $(IDIR_ASTERISK_CHAN_H323)/usr/lib/asterisk/modules/
+	$(RSTRIP) $(IDIR_ASTERISK_CHAN_H323)
+	$(IPKG_BUILD) $(IDIR_ASTERISK_CHAN_H323) $(PACKAGE_DIR)
+
 $(IPKG_ASTERISK_CHAN_MGCP):
 	install -d -m0755 $(IDIR_ASTERISK_CHAN_MGCP)/etc/asterisk
 	install -m0644 $(PKG_BUILD_DIR)/configs/mgcp.conf.sample $(IDIR_ASTERISK_CHAN_MGCP)/etc/asterisk/mgcp.conf

--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-chan-h323.conffiles
@@ -1,1 +1,2 @@
+/etc/asterisk/h323.conf
 

--- /dev/null
+++ b/package/asterisk/ipkg/asterisk-chan-h323.control
@@ -1,1 +1,6 @@
+Package: asterisk-chan-h323
+Priority: optional
+Section: net
+Description: H.323 support for Asterisk
+Depends: asterisk, openh323
 

comments