ports/114519: [UPDATE] net/asterisk to 1.4.6

viper viper at perm.raid.ru
Thu Jul 12 04:00:11 UTC 2007


>Number:         114519
>Category:       ports
>Synopsis:       [UPDATE] net/asterisk to 1.4.6
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jul 12 04:00:10 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     viper
>Release:        6.2-STABLE
>Organization:
>Environment:
FreeBSD asterisk 6.2-STABLE FreeBSD 6.2-STABLE #1: Thu Apr  5 20:22:26 YEKST 2007     root at asterisk:/usr/src/sys/i386/compile/viper  i386

>Description:
Information from the site asterisk.org

Asterisk 1.4.5
"There has been a very large number of bugs fixed since the last release, including crashes and other critical issues. There were 244 commits to the 1.4 source tree and 74 commits to the 1.2 source tree since the last set of releases. Also, keep in mind that the release branches are only changed to fix problems. In the same time frame, the development tree had 439 commits. There is a ChangeLog available in the tarball of each release with a complete list of changes."

Asterisk 1.4.6
"We would also like to continue to encourage the community to upgrade to the 1.4 series. There have been almost 100 changes to the 1.4 tree since the last release. Keep in mind that we are still planning to move the 1.2 series of Asterisk into security maintenance only beginning August 1st."


Already out version 1.4.7.1!!!!
>How-To-Repeat:
Continuing to do nothing or remove port asterisk. ;-)
>Fix:
Based on patch Richard E Neese and Phillip N.
My work as follows:
1. Minor cleanup make for happy "port test"
2. Cleanup "files/patch-configure"
3. Addes "files/patch-apps::app_rxfax.c", "files/patch-apps::app_txfax.c", "files/patch-configure.ac", "files/patch-makeopts.in" and "patch-build_tools::menuselect-deps.in"
4. Added work with spandsp. 

Reviewed at work.

Request for approval to transfer a person who can quickly do so. Maintainer did not respond to e-mail. Previous PR hang without movement over a month.

Thanks anyway.


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	.
#	./asterisk
#	./asterisk/files
#	./asterisk/files/asterisk.sh.in
#	./asterisk/files/patch-Makefile
#	./asterisk/files/patch-agi::Makefile
#	./asterisk/files/patch-channels::Makefile
#	./asterisk/files/patch-channels::chan_h323.c
#	./asterisk/files/patch-channels::chan_sip.c
#	./asterisk/files/patch-channels::chan_skinny.c
#	./asterisk/files/patch-channels::chan_zap.c
#	./asterisk/files/patch-configure
#	./asterisk/files/patch-include::asterisk::utils.h
#	./asterisk/files/patch-main::Makefile
#	./asterisk/files/patch-main::db.c
#	./asterisk/files/patch-main::frame.c
#	./asterisk/files/patch-main::utils.c
#	./asterisk/files/patch-configure.ac
#	./asterisk/files/patch-apps::app_rxfax.c
#	./asterisk/files/patch-apps::app_txfax.c
#	./asterisk/files/patch-build_tools::menuselect-deps.in
#	./asterisk/files/patch-makeopts.in
#	./asterisk/Makefile
#	./asterisk/distinfo
#	./asterisk/pkg-descr
#	./asterisk/pkg-plist
#
echo c - .
mkdir -p . > /dev/null 2>&1
echo c - ./asterisk
mkdir -p ./asterisk > /dev/null 2>&1
echo c - ./asterisk/files
mkdir -p ./asterisk/files > /dev/null 2>&1
echo x - ./asterisk/files/asterisk.sh.in
sed 's/^X//' >./asterisk/files/asterisk.sh.in << 'END-of-./asterisk/files/asterisk.sh.in'
X#!/bin/sh
X
X# PROVIDE: asterisk
X# REQUIRE: DAEMON
X# KEYWORD: shutdown
X#
X# Add the following lines to /etc/rc.conf to enable asterisk:
X#
X# asterisk_enable="YES"
X#
X
X. %%RC_SUBR%%
X
Xname=asterisk
Xrcvar=`set_rcvar`
X
Xcommand=%%PREFIX%%/sbin/asterisk
X
Xload_rc_config $name
X
Xpidfile=${asterisk_pidfile:-"/var/run/asterisk.pid"}
X
Xasterisk_enable=${asterisk_enable:-"NO"}
X
Xrun_rc_command "$1"
END-of-./asterisk/files/asterisk.sh.in
echo x - ./asterisk/files/patch-Makefile
sed 's/^X//' >./asterisk/files/patch-Makefile << 'END-of-./asterisk/files/patch-Makefile'
X--- Makefile.orig	Tue Jun 19 11:06:33 2007
X+++ Makefile	Tue Jun 19 11:46:29 2007
X@@ -209,7 +209,7 @@
X 
X ifeq ($(OSARCH),FreeBSD)
X   # -V is understood by BSD Make, not by GNU make.
X-  BSDVERSION=$(shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk)
X+  BSDVERSION=$(OSVERSION)
X   ASTCFLAGS+=$(shell if test $(BSDVERSION) -lt 500016 ; then echo "-D_THREAD_SAFE"; fi)
X   AST_LIBS+=$(shell if test  $(BSDVERSION) -lt 502102 ; then echo "-lc_r"; else echo "-pthread"; fi)
X endif
X@@ -374,15 +374,15 @@
X # Should static HTTP be installed during make samples or even with its own target ala
X # webvoicemail?  There are portions here that *could* be customized but might also be
X # improved a lot.  I'll put it here for now.
X-	mkdir -p $(DESTDIR)$(ASTDATADIR)/static-http
X+	$(MKDIR) $(DESTDIR)$(ASTDATADIR)/static-http
X 	for x in static-http/*; do \
X-		$(INSTALL) -m 644 $$x $(DESTDIR)$(ASTDATADIR)/static-http ; \
X+		$(BSD_INSTALL_DATA) $$x $(DESTDIR)$(ASTDATADIR)/static-http ; \
X 	done
X-	mkdir -p $(DESTDIR)$(ASTDATADIR)/images
X+	$(MKDIR) $(DESTDIR)$(ASTDATADIR)/images
X 	for x in images/*.jpg; do \
X-		$(INSTALL) -m 644 $$x $(DESTDIR)$(ASTDATADIR)/images ; \
X+		$(BSD_INSTALL_DATA) $$x $(DESTDIR)$(ASTDATADIR)/images ; \
X 	done
X-	mkdir -p $(DESTDIR)$(AGI_DIR)
X+	$(MKDIR) $(DESTDIR)$(AGI_DIR)
X 	$(MAKE) -C sounds install
X 
X update: 
X@@ -403,45 +403,45 @@
X OLDHEADERS=$(filter-out $(NEWHEADERS),$(notdir $(wildcard $(DESTDIR)$(ASTHEADERDIR)/*.h)))
X 
X bininstall: _all
X-	mkdir -p $(DESTDIR)$(MODULES_DIR)
X-	mkdir -p $(DESTDIR)$(ASTSBINDIR)
X-	mkdir -p $(DESTDIR)$(ASTETCDIR)
X-	mkdir -p $(DESTDIR)$(ASTBINDIR)
X-	mkdir -p $(DESTDIR)$(ASTVARRUNDIR)
X-	mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/voicemail
X-	mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/dictate
X-	mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/system
X-	mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/tmp
X-	mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/meetme
X-	mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/monitor
X-	$(INSTALL) -m 755 main/asterisk $(DESTDIR)$(ASTSBINDIR)/
X+	$(MKDIR) $(DESTDIR)$(MODULES_DIR)
X+	$(MKDIR) $(DESTDIR)$(ASTSBINDIR)
X+	$(MKDIR) $(DESTDIR)$(ASTETCDIR)
X+	$(MKDIR) $(DESTDIR)$(ASTBINDIR)
X+	$(MKDIR) $(DESTDIR)$(ASTVARRUNDIR)
X+	$(MKDIR) $(DESTDIR)$(ASTSPOOLDIR)/voicemail
X+	$(MKDIR) $(DESTDIR)$(ASTSPOOLDIR)/dictate
X+	$(MKDIR) $(DESTDIR)$(ASTSPOOLDIR)/system
X+	$(MKDIR) $(DESTDIR)$(ASTSPOOLDIR)/tmp
X+	$(MKDIR) $(DESTDIR)$(ASTSPOOLDIR)/meetme
X+	$(MKDIR) $(DESTDIR)$(ASTSPOOLDIR)/monitor
X+	$(BSD_INSTALL_PROGRAM) main/asterisk $(DESTDIR)$(ASTSBINDIR)/
X 	$(LN) -sf asterisk $(DESTDIR)$(ASTSBINDIR)/rasterisk
X-	$(INSTALL) -m 755 contrib/scripts/astgenkey $(DESTDIR)$(ASTSBINDIR)/
X-	$(INSTALL) -m 755 contrib/scripts/autosupport $(DESTDIR)$(ASTSBINDIR)/
X+	$(BSD_INSTALL_SCRIPT) contrib/scripts/astgenkey $(DESTDIR)$(ASTSBINDIR)/
X+	$(BSD_INSTALL_SCRIPT) contrib/scripts/autosupport $(DESTDIR)$(ASTSBINDIR)/
X 	if [ ! -f $(DESTDIR)$(ASTSBINDIR)/safe_asterisk ]; then \
X 		cat contrib/scripts/safe_asterisk | sed 's|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > $(DESTDIR)$(ASTSBINDIR)/safe_asterisk ;\
X 		chmod 755 $(DESTDIR)$(ASTSBINDIR)/safe_asterisk;\
X 	fi
X-	$(INSTALL) -d $(DESTDIR)$(ASTHEADERDIR)
X-	$(INSTALL) -m 644 include/asterisk.h $(DESTDIR)$(includedir)
X-	$(INSTALL) -m 644 include/asterisk/*.h $(DESTDIR)$(ASTHEADERDIR)
X+	$(MKDIR) $(DESTDIR)$(ASTHEADERDIR)
X+	$(BSD_INSTALL_DATA) include/asterisk.h $(DESTDIR)$(includedir)
X+	$(BSD_INSTALL_DATA) include/asterisk/*.h $(DESTDIR)$(ASTHEADERDIR)
X 	if [ -n "$(OLDHEADERS)" ]; then \
X 		rm -f $(addprefix $(DESTDIR)$(ASTHEADERDIR)/,$(OLDHEADERS)) ;\
X 	fi
X-	mkdir -p $(DESTDIR)$(ASTLOGDIR)/cdr-csv
X-	mkdir -p $(DESTDIR)$(ASTLOGDIR)/cdr-custom
X-	mkdir -p $(DESTDIR)$(ASTDATADIR)/keys
X-	mkdir -p $(DESTDIR)$(ASTDATADIR)/firmware
X-	mkdir -p $(DESTDIR)$(ASTDATADIR)/firmware/iax
X-	mkdir -p $(DESTDIR)$(ASTMANDIR)/man8
X-	$(INSTALL) -m 644 keys/iaxtel.pub $(DESTDIR)$(ASTDATADIR)/keys
X-	$(INSTALL) -m 644 keys/freeworlddialup.pub $(DESTDIR)$(ASTDATADIR)/keys
X-	$(INSTALL) -m 644 doc/asterisk.8 $(DESTDIR)$(ASTMANDIR)/man8
X-	$(INSTALL) -m 644 contrib/scripts/astgenkey.8 $(DESTDIR)$(ASTMANDIR)/man8
X-	$(INSTALL) -m 644 contrib/scripts/autosupport.8 $(DESTDIR)$(ASTMANDIR)/man8
X-	$(INSTALL) -m 644 contrib/scripts/safe_asterisk.8 $(DESTDIR)$(ASTMANDIR)/man8
X+	$(MKDIR) $(DESTDIR)$(ASTLOGDIR)/cdr-csv
X+	$(MKDIR) $(DESTDIR)$(ASTLOGDIR)/cdr-custom
X+	$(MKDIR) $(DESTDIR)$(ASTDATADIR)/keys
X+	$(MKDIR) $(DESTDIR)$(ASTDATADIR)/firmware
X+	$(MKDIR) $(DESTDIR)$(ASTDATADIR)/firmware/iax
X+	$(MKDIR) $(DESTDIR)$(ASTMANDIR)/man8
X+	$(BSD_INSTALL_DATA) keys/iaxtel.pub $(DESTDIR)$(ASTDATADIR)/keys
X+	$(BSD_INSTALL_DATA) keys/freeworlddialup.pub $(DESTDIR)$(ASTDATADIR)/keys
X+	$(BSD_INSTALL_DATA) doc/asterisk.8 $(DESTDIR)$(ASTMANDIR)/man8
X+	$(BSD_INSTALL_DATA) contrib/scripts/astgenkey.8 $(DESTDIR)$(ASTMANDIR)/man8
X+	$(BSD_INSTALL_DATA) contrib/scripts/autosupport.8 $(DESTDIR)$(ASTMANDIR)/man8
X+	$(BSD_INSTALL_DATA) contrib/scripts/safe_asterisk.8 $(DESTDIR)$(ASTMANDIR)/man8
X 	if [ -f contrib/firmware/iax/iaxy.bin ] ; then \
X-		$(INSTALL) -m 644 contrib/firmware/iax/iaxy.bin $(DESTDIR)$(ASTDATADIR)/firmware/iax/iaxy.bin; \
X+		$(BSD_INSTALL_DATA) contrib/firmware/iax/iaxy.bin $(DESTDIR)$(ASTDATADIR)/firmware/iax/iaxy.bin; \
X 	fi
X 
X $(SUBDIRS_INSTALL):
X@@ -468,7 +468,7 @@
X 		echo " WARNING WARNING WARNING" ;\
X 	fi
X 
X-install: datafiles bininstall $(SUBDIRS_INSTALL)
X+install: datafiles bininstall $(SUBDIRS_INSTALL) samples
X 	@if [ -x /usr/sbin/asterisk-post-install ]; then \
X 		/usr/sbin/asterisk-post-install $(DESTDIR) . ; \
X 	fi
X@@ -498,31 +498,23 @@
X upgrade: bininstall
X 
X adsi:
X-	mkdir -p $(DESTDIR)$(ASTETCDIR)
X+	$(MKDIR) $(DESTDIR)$(ASTETCDIR)
X 	for x in configs/*.adsi; do \
X 		if [ ! -f $(DESTDIR)$(ASTETCDIR)/$$x ]; then \
X-			$(INSTALL) -m 644 $$x $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x` ; \
X+			$(BSD_INSTALL_DATA) $$x $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x` ; \
X 		fi ; \
X+		$(BSD_INSTALL_DATA) $$x $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`-dist ; \
X 	done
X 
X samples: adsi
X-	mkdir -p $(DESTDIR)$(ASTETCDIR)
X+	$(MKDIR) $(DESTDIR)$(ASTETCDIR)
X 	for x in configs/*.sample; do \
X-		if [ -f $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample` ]; then \
X-			if [ "$(OVERWRITE)" = "y" ]; then \
X-				if cmp -s $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample` $$x ; then \
X-					echo "Config file $$x is unchanged"; \
X-					continue; \
X-				fi ; \
X-				mv -f $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample` $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample`.old ; \
X-			else \
X-				echo "Skipping config file $$x"; \
X-				continue; \
X-			fi ;\
X+		$(BSD_INSTALL_DATA) $$x $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample`-dist ;\
X+		if [ ! -f $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample` ]; then \
X+			$(BSD_INSTALL_DATA) $$x $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample`;\
X 		fi ; \
X-		$(INSTALL) -m 644 $$x $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample` ;\
X 	done
X-	if [ "$(OVERWRITE)" = "y" ] || [ ! -f $(DESTDIR)$(ASTCONFPATH) ]; then \
X+	if true; then \
X 		( \
X 		echo "[directories]" ; \
X 		echo "astetcdir => $(ASTETCDIR)" ; \
X@@ -543,20 +535,23 @@
X 		echo ";astctlowner = root" ; \
X 		echo ";astctlgroup = apache" ; \
X 		echo ";astctl = asterisk.ctl" ; \
X-		) > $(DESTDIR)$(ASTCONFPATH) ; \
X+		) > $(DESTDIR)$(ASTCONFPATH)-dist ; \
X+		if [ ! -f $(DESTDIR)$(ASTCONFPATH) ]; then \
X+			cp $(DESTDIR)$(ASTCONFPATH)-dist $(DESTDIR)$(ASTCONFPATH); \
X+		fi; \
X 	else \
X 		echo "Skipping asterisk.conf creation"; \
X 	fi
X-	mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/INBOX
X+	$(MKDIR) $(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/INBOX
X 	build_tools/make_sample_voicemail $(DESTDIR)/$(ASTDATADIR) $(DESTDIR)/$(ASTSPOOLDIR)
X 
X webvmail:
X 	@[ -d $(DESTDIR)$(HTTP_DOCSDIR)/ ] || ( printf "http docs directory not found.\nUpdate assignment of variable HTTP_DOCSDIR in Makefile!\n" && exit 1 )
X 	@[ -d $(DESTDIR)$(HTTP_CGIDIR) ] || ( printf "cgi-bin directory not found.\nUpdate assignment of variable HTTP_CGIDIR in Makefile!\n" && exit 1 )
X 	$(INSTALL) -m 4755 -o root -g root contrib/scripts/vmail.cgi $(DESTDIR)$(HTTP_CGIDIR)/vmail.cgi
X-	mkdir -p $(DESTDIR)$(HTTP_DOCSDIR)/_asterisk
X+	$(MKDIR) $(DESTDIR)$(HTTP_DOCSDIR)/_asterisk
X 	for x in images/*.gif; do \
X-		$(INSTALL) -m 644 $$x $(DESTDIR)$(HTTP_DOCSDIR)/_asterisk/; \
X+		$(BSD_INSTALL_DATA) $$x $(DESTDIR)$(HTTP_DOCSDIR)/_asterisk/; \
X 	done
X 	@echo " +--------- Asterisk Web Voicemail ----------+"  
X 	@echo " +                                           +"
X@@ -583,10 +578,10 @@
X 
X __rpm: include/asterisk/version.h include/asterisk/buildopts.h spec
X 	rm -rf /tmp/asterisk ; \
X-	mkdir -p /tmp/asterisk/redhat/RPMS/i386 ; \
X+	$(MKDIR) /tmp/asterisk/redhat/RPMS/i386 ; \
X 	$(MAKE) DESTDIR=/tmp/asterisk install ; \
X 	$(MAKE) DESTDIR=/tmp/asterisk samples ; \
X-	mkdir -p /tmp/asterisk/etc/rc.d/init.d ; \
X+	$(MKDIR) /tmp/asterisk/etc/rc.d/init.d ; \
X 	cp -f contrib/init.d/rc.redhat.asterisk /tmp/asterisk/etc/rc.d/init.d/asterisk ; \
X 	rpmbuild --rcfile /usr/lib/rpm/rpmrc:redhat/rpmrc -bb asterisk.spec
X 
X@@ -597,19 +592,19 @@
X config:
X 	@if [ "${OSARCH}" = "linux-gnu" ]; then \
X 		if [ -f /etc/redhat-release -o -f /etc/fedora-release ]; then \
X-			$(INSTALL) -m 755 contrib/init.d/rc.redhat.asterisk /etc/rc.d/init.d/asterisk; \
X+			$(BSD_INSTALL_SCRIPT) contrib/init.d/rc.redhat.asterisk /etc/rc.d/init.d/asterisk; \
X 			/sbin/chkconfig --add asterisk; \
X 		elif [ -f /etc/debian_version ]; then \
X-			$(INSTALL) -m 755 contrib/init.d/rc.debian.asterisk /etc/init.d/asterisk; \
X+			$(BSD_INSTALL_SCRIPT) contrib/init.d/rc.debian.asterisk /etc/init.d/asterisk; \
X 			/usr/sbin/update-rc.d asterisk start 10 2 3 4 5 . stop 91 2 3 4 5 .; \
X 		elif [ -f /etc/gentoo-release ]; then \
X-			$(INSTALL) -m 755 contrib/init.d/rc.gentoo.asterisk /etc/init.d/asterisk; \
X+			$(BSD_INSTALL_SCRIPT) contrib/init.d/rc.gentoo.asterisk /etc/init.d/asterisk; \
X 			/sbin/rc-update add asterisk default; \
X 		elif [ -f /etc/mandrake-release ]; then \
X-			$(INSTALL) -m 755 contrib/init.d/rc.mandrake.asterisk /etc/rc.d/init.d/asterisk; \
X+			$(BSD_INSTALL_SCRIPT) contrib/init.d/rc.mandrake.asterisk /etc/rc.d/init.d/asterisk; \
X 			/sbin/chkconfig --add asterisk; \
X 		elif [ -f /etc/SuSE-release -o -f /etc/novell-release ]; then \
X-			$(INSTALL) -m 755 contrib/init.d/rc.suse.asterisk /etc/init.d/asterisk; \
X+			$(BSD_INSTALL_SCRIPT) contrib/init.d/rc.suse.asterisk /etc/init.d/asterisk; \
X 			/sbin/chkconfig --add asterisk; \
X 		elif [ -f /etc/slackware-version ]; then \
X 			echo "Slackware is not currently supported, although an init script does exist for it." \
END-of-./asterisk/files/patch-Makefile
echo x - ./asterisk/files/patch-agi::Makefile
sed 's/^X//' >./asterisk/files/patch-agi::Makefile << 'END-of-./asterisk/files/patch-agi::Makefile'
X--- agi/Makefile.orig	Sat Dec 16 23:14:34 2006
X+++ agi/Makefile	Wed Mar 28 11:13:21 2007
X@@ -13,7 +13,9 @@
X 
X .PHONY: clean all uninstall
X 
X-AGIS=agi-test.agi eagi-test eagi-sphinx-test jukebox.agi
X+AGIS_BIN=eagi-test eagi-sphinx-test
X+AGIS_SCR=agi-test.agi jukebox.agi
X+AGIS=$(AGIS_SCR) $(AGIS_BIN)
X 
X ifeq ($(OSARCH),SunOS)
X   LIBS+=-lsocket -lnsl
X@@ -31,8 +33,9 @@ eagi-test: eagi-test.o strcompat.o
X eagi-sphinx-test: eagi-sphinx-test.o
X 
X install: all
X-	mkdir -p $(DESTDIR)$(AGI_DIR)
X-	for x in $(AGIS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(AGI_DIR) ; done
X+	$(MKDIR) -p $(DESTDIR)$(AGI_DIR)
X+	for x in $(AGIS_BIN); do $(BSD_INSTALL_PROGRAM) $$x $(DESTDIR)$(AGI_DIR) ; done
X+	for x in $(AGIS_SCR); do $(BSD_INSTALL_SCRIPT) $$x $(DESTDIR)$(AGI_DIR) ; done
X 
X uninstall:
X 	for x in $(AGIS); do rm -f $(DESTDIR)$(AGI_DIR)/$$x ; done
END-of-./asterisk/files/patch-agi::Makefile
echo x - ./asterisk/files/patch-channels::Makefile
sed 's/^X//' >./asterisk/files/patch-channels::Makefile << 'END-of-./asterisk/files/patch-channels::Makefile'
X
X$FreeBSD: ports/net/asterisk/files/patch-channels::Makefile,v 1.13 2007/04/13 08:06:05 sobomax Exp $
X
X--- channels/Makefile.orig
X+++ channels/Makefile
X@@ -26,8 +26,8 @@
X endif
X 
X ifeq ($(OSARCH),FreeBSD)
X-  PTLIB=-lpt_FreeBSD_x86_r
X-  H323LIB=-lh323_FreeBSD_x86_r
X+  PTLIB=-lpt_r
X+  H323LIB=-lh323_r
X   CHANH323LIB=-pthread
X endif
X 
X@@ -72,12 +72,12 @@
X h323/libchanh323.a h323/Makefile.ast:
X 	$(CMD_PREFIX) $(MAKE) -C h323
X 	$(CMD_PREFIX) rm -f ../main/asterisk
X-	$(CMD_PREFIX) echo "***************************************************************"
X-	$(CMD_PREFIX) echo
X-	$(CMD_PREFIX) echo "********** Re-run 'make' to pick up H.323 parameters **********"
X-	$(CMD_PREFIX) echo
X-	$(CMD_PREFIX) echo "***************************************************************"
X-	$(CMD_PREFIX) exit 1
X+#	$(CMD_PREFIX) echo "***************************************************************"
X+#	$(CMD_PREFIX) echo
X+#	$(CMD_PREFIX) echo "********** Re-run 'make' to pick up H.323 parameters **********"
X+#	$(CMD_PREFIX) echo
X+#	$(CMD_PREFIX) echo "***************************************************************"
X+#	$(CMD_PREFIX) exit 1
X endif
X 
X gentone: gentone.c
END-of-./asterisk/files/patch-channels::Makefile
echo x - ./asterisk/files/patch-channels::chan_h323.c
sed 's/^X//' >./asterisk/files/patch-channels::chan_h323.c << 'END-of-./asterisk/files/patch-channels::chan_h323.c'
X
X$FreeBSD: ports/net/asterisk/files/patch-channels::chan_h323.c,v 1.7 2006/02/06 20:39:59 sobomax Exp $
X
X--- channels/chan_h323.c.orig
X+++ channels/chan_h323.c
X@@ -31,6 +31,7 @@
X  * \ingroup channel_drivers
X  */
X 
X+#include <sys/types.h>
X #include <sys/socket.h>
X #include <sys/signal.h>
X #include <sys/param.h>
END-of-./asterisk/files/patch-channels::chan_h323.c
echo x - ./asterisk/files/patch-channels::chan_sip.c
sed 's/^X//' >./asterisk/files/patch-channels::chan_sip.c << 'END-of-./asterisk/files/patch-channels::chan_sip.c'
X--- channels/chan_sip.c.orig	Wed Mar 28 11:23:42 2007
X+++ channels/chan_sip.c	Wed Mar 28 11:36:27 2007
X@@ -484,7 +484,7 @@ static const struct cfsip_options {
X #define DEFAULT_MOHINTERPRET    "default"
X #define DEFAULT_MOHSUGGEST      ""
X #define DEFAULT_VMEXTEN 	"asterisk"
X-#define DEFAULT_CALLERID 	"asterisk"
X+#define DEFAULT_CALLERID 	"Unknown"
X #define DEFAULT_NOTIFYMIME 	"application/simple-message-summary"
X #define DEFAULT_MWITIME 	10
X #define DEFAULT_ALLOWGUEST	TRUE
X@@ -3822,6 +3823,8 @@ static struct ast_channel *sip_new(struc
X 	ast_codec_pref_remove2(&tmp->nativeformats, ~i->usercapability);
X 	fmt = ast_codec_pref_index_audio(&tmp->nativeformats, 0);
X 
X+	pbx_builtin_setvar_helper(tmp, "SIP_CODEC_USED", ast_getformatname(fmt));
X+
X 	/* If we have a prefcodec setting, we have an inbound channel that set a 
X 	   preferred format for this call. Otherwise, we check the jointcapability
X 	   We also check for vrtp. If it's not there, we are not allowed do any video anyway.
X@@ -11203,6 +11215,13 @@ static int build_reply_digest(struct sip
X  		secret =  p->peersecret;
X  		md5secret = p->peermd5secret;
X  	}
X+	/* No authentication. Try to get auth info from channel vars */
X+	if (ast_strlen_zero(username))
X+	{
X+		username = pbx_builtin_getvar_helper(p->owner, "SIP_AUTH_NAME");
X+		secret = pbx_builtin_getvar_helper(p->owner, "SIP_AUTH_SECRET");
X+		md5secret = pbx_builtin_getvar_helper(p->owner, "SIP_AUTH_MD5SECRET");
X+	}
X 	if (ast_strlen_zero(username))	/* We have no authentication */
X 		return -1;
X 
X
END-of-./asterisk/files/patch-channels::chan_sip.c
echo x - ./asterisk/files/patch-channels::chan_skinny.c
sed 's/^X//' >./asterisk/files/patch-channels::chan_skinny.c << 'END-of-./asterisk/files/patch-channels::chan_skinny.c'
X
X$FreeBSD: ports/net/asterisk/files/patch-channels::chan_skinny.c,v 1.1 2006/05/23 02:47:04 sobomax Exp $
X
X--- channels/chan_skinny.c.orig
X+++ channels/chan_skinny.c
X@@ -99,7 +99,7 @@
X #define htolel(x) (x)
X #define htoles(x) (x)
X #else
X-#if defined(SOLARIS) || defined(__Darwin__) || defined(__NetBSD__)
X+#if defined(SOLARIS) || defined(__Darwin__) || defined(__NetBSD__) || defined(__FreeBSD__)
X #define __bswap_16(x) \
X      ((((x) & 0xff00) >> 8) | \
X       (((x) & 0x00ff) << 8))
END-of-./asterisk/files/patch-channels::chan_skinny.c
echo x - ./asterisk/files/patch-channels::chan_zap.c
sed 's/^X//' >./asterisk/files/patch-channels::chan_zap.c << 'END-of-./asterisk/files/patch-channels::chan_zap.c'
X
X$FreeBSD: ports/net/asterisk/files/patch-channels::chan_zap.c,v 1.4 2006/01/17 22:27:45 sobomax Exp $
X
X--- channels/chan_zap.c.orig	Tue Nov 29 20:24:39 2005
X+++ channels/chan_zap.c	Fri Jan 13 13:28:33 2006
X@@ -638,6 +638,7 @@ static struct zt_pvt {
X 	int cidlen;
X 	int ringt;
X 	int ringt_base;
X+	int waitnorings;
X 	int stripmsd;
X 	int callwaitcas;
X 	int callwaitrings;
X@@ -2308,6 +2309,19 @@ static int zt_hangup(struct ast_channel 
X 	}
X 	
X 	ast_mutex_lock(&p->lock);
X+	switch (p->sig) {
X+	case SIG_FXSGS:
X+	case SIG_FXSKS:
X+	case SIG_FXSLS:
X+		if((ast->_state == AST_STATE_RING) && (p->ringt > 1))
X+		{
X+			p->waitnorings = 1;
X+		}
X+		break;
X+	default:
X+		break;
X+	};
X+
X 	
X 	index = zt_get_index(ast, p, 1);
X 
X@@ -6129,7 +6143,37 @@ static void *ss_thread(void *data)
X 		ast_setstate(chan, AST_STATE_RING);
X 		chan->rings = 1;
X 		p->ringt = p->ringt_base;
X+		p->waitnorings = 0;
X 		res = ast_pbx_run(chan);
X+
X+		if(p->waitnorings)
X+		{
X+			p->ringt = p->ringt_base;
X+			for(;;)
X+			{
X+				int i,j=0;
X+				i = ZT_IOMUX_SIGEVENT | ZT_IOMUX_NOWAIT;
X+				if (ioctl(p->subs[index].zfd, ZT_IOMUX, &i) == -1)
X+					break;
X+
X+				if (ioctl(p->subs[index].zfd, ZT_GETEVENT, &j) == -1)
X+					break;
X+
X+				if(j == ZT_EVENT_RINGOFFHOOK)
X+					p->ringt = p->ringt_base;
X+
X+				usleep(20000);
X+
X+				if (p->ringt <= 0)
X+					break;
X+
X+				else if (p->ringt > 0)
X+					p->ringt--;
X+			}
X+			p->ringt = 0;
X+			p->waitnorings = 0;
X+		}
X+
X 		if (res) {
X 			ast_hangup(chan);
X 			ast_log(LOG_WARNING, "PBX exited non-zero\n");
X@@ -6431,7 +6475,7 @@ static void *do_monitor(void *data)
X 		i = iflist;
X 		while(i) {
X 			if ((i->subs[SUB_REAL].zfd > -1) && i->sig && (!i->radio)) {
X-				if (!i->owner && !i->subs[SUB_REAL].owner) {
X+				if (!i->owner && !i->subs[SUB_REAL].owner && !i->waitnorings) {
X 					/* This needs to be watched, as it lacks an owner */
X 					pfds[count].fd = i->subs[SUB_REAL].zfd;
X 					pfds[count].events = POLLPRI;
END-of-./asterisk/files/patch-channels::chan_zap.c
echo x - ./asterisk/files/patch-configure
sed 's/^X//' >./asterisk/files/patch-configure << 'END-of-./asterisk/files/patch-configure'
X--- configure.orig	Fri Jun 29 20:18:36 2007
X+++ configure	Tue Jul 10 16:05:20 2007
X@@ -820,6 +820,10 @@
X RADIUS_INCLUDE
X RADIUS_DIR
X PBX_RADIUS
X+SPANDSP_LIB
X+SPANDSP_INCLUDE
X+SPANDSP_DIR
X+PBX_SPANDSP
X SPEEX_LIB
X SPEEX_INCLUDE
X SPEEX_DIR
X@@ -1525,6 +1529,7 @@
X   --with-h323=PATH        use OpenH323 files in PATH
X   --with-qt=PATH          use Qt files in PATH
X   --with-radius=PATH      use Radius Client files in PATH
X+  --with-spandsp=PATH     use Spandsp library files in PATH
X   --with-speex=PATH       use Speex files in PATH
X   --with-sqlite=PATH      use SQLite files in PATH
X   --with-suppserv=PATH    use mISDN Supplemental Services files in PATH
X@@ -8297,6 +8302,36 @@
X 
X PBX_RADIUS=0
X 
X+SPANDSP_DESCRIP="Spandsp Library"
X+SPANDSP_OPTION="spandsp"
X+
X+# Check whether --with-spandsp was given.
X+if test "${with_spandsp+set}" = set; then
X+  withval=$with_spandsp;
X+case ${withval} in
X+     n|no)
X+     USE_SPANDSP=no
X+     PBX_SPANDSP=0
X+     ;;
X+     y|ye|yes)
X+     SPANDSP_DIR="/usr/local"
X+     SPANDSP_LIB="-L/usr/local/lib -lspandsp"
X+     SPANDSP_INCLUDE="-I${SPANDSP_DIR}/include"
X+     SPANDSP_MANDATORY="yes"
X+     PBX_SPANDSP=1
X+     ;;
X+     *)
X+     SPANDSP_DIR="${withval}"
X+     SPANDSP_LIB="-L${SPANDSP_DIR}/lib -lspandsp"
X+     SPANDSP_INCLUDE="-I${SPANDSP_DIR}/include"
X+     SPANDSP_MANDATORY="yes"
X+     PBX_SPANDSP=1
X+     ;;
X+esac
X+
X+fi
X+
X+
X 
X 
X 
X@@ -25416,7 +25451,7 @@
X 
X 	fi
X 
X-	PLATFORM_OPENH323="h323_${PWLIB_PLATFORM}_${OPENH323_SUFFIX}"
X+	PLATFORM_OPENH323="h323_${OPENH323_SUFFIX}"
X 
X 	if test "${HAS_OPENH323:-unset}" != "unset"; then
X 	   { echo "$as_me:$LINENO: checking OpenH323 installation validity" >&5
X@@ -32039,6 +32074,10 @@
X RADIUS_INCLUDE!$RADIUS_INCLUDE$ac_delim
X RADIUS_DIR!$RADIUS_DIR$ac_delim
X PBX_RADIUS!$PBX_RADIUS$ac_delim
X+SPANDSP_LIB!$SPANDSP_LIB$ac_delim
X+SPANDSP_INCLUDE!$SPANDSP_INCLUDE$ac_delim
X+SPANDSP_DIR!$SPANDSP_DIR$ac_delim
X+PBX_SPANDSP!$PBX_SPANDSP$ac_delim
X SPEEX_LIB!$SPEEX_LIB$ac_delim
X SPEEX_INCLUDE!$SPEEX_INCLUDE$ac_delim
X SPEEX_DIR!$SPEEX_DIR$ac_delim
X@@ -32126,7 +32165,7 @@
X LTLIBOBJS!$LTLIBOBJS$ac_delim
X _ACEOF
X 
X-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 92; then
X+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 96; then
X     break
X   elif $ac_last_try; then
X     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
END-of-./asterisk/files/patch-configure
echo x - ./asterisk/files/patch-include::asterisk::utils.h
sed 's/^X//' >./asterisk/files/patch-include::asterisk::utils.h << 'END-of-./asterisk/files/patch-include::asterisk::utils.h'
X
X$FreeBSD: ports/net/asterisk/files/patch-include::asterisk::utils.h,v 1.1 2004/10/17 18:00:02 sobomax Exp $
X
X--- include/asterisk/utils.h	2004/10/10 12:55:50	1.1
X+++ include/asterisk/utils.h	2004/10/10 12:56:43
X@@ -37,7 +37,6 @@
X #ifdef inet_ntoa
X #undef inet_ntoa
X #endif
X-#define inet_ntoa __dont__use__inet_ntoa__use__ast_inet_ntoa__instead__
X 
X #ifdef LINUX
X #define ast_pthread_create pthread_create
END-of-./asterisk/files/patch-include::asterisk::utils.h
echo x - ./asterisk/files/patch-main::Makefile
sed 's/^X//' >./asterisk/files/patch-main::Makefile << 'END-of-./asterisk/files/patch-main::Makefile'
X--- main/Makefile.orig	Wed Mar 28 11:08:42 2007
X+++ main/Makefile	Wed Mar 28 11:09:20 2007
X@@ -98,8 +98,8 @@ editline/libedit.a:
X 	cd editline && test -f config.h || CFLAGS="$(PTHREAD_CFLAGS) $(ASTCFLAGS:-Werror=)" LDFLAGS="$(ASTLDFLAGS)" ./configure --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) --with-ncurses=$(NCURSES_DIR) --with-curses=$(CURSES_DIR) --with-termcap=$(TERMCAP_DIR) --with-tinfo=$(TINFO_DIR)
X 	$(MAKE) -C editline libedit.a
X 
X-db1-ast/libdb1.a:
X-	CFLAGS="$(ASTCFLAGS)" LDFLAGS="$(ASTLDFLAGS)" $(MAKE) -C db1-ast libdb1.a
X+#db1-ast/libdb1.a:
X+#	CFLAGS="$(ASTCFLAGS)" LDFLAGS="$(ASTLDFLAGS)" $(MAKE) -C db1-ast libdb1.a
X 
X ast_expr2.c ast_expr2.h:
X 	bison -o $@ -d --name-prefix=ast_yy ast_expr2.y
X@@ -127,7 +127,7 @@ else
X   H323LDLIBS=
X endif
X 
X-asterisk: $(OBJS) editline/libedit.a db1-ast/libdb1.a $(AST_EMBED_LDSCRIPTS)
X+asterisk: $(OBJS) editline/libedit.a $(AST_EMBED_LDSCRIPTS)
X 	@$(ASTTOPDIR)/build_tools/make_build_h > $(ASTTOPDIR)/include/asterisk/build.h.tmp
X 	@if cmp -s $(ASTTOPDIR)/include/asterisk/build.h.tmp $(ASTTOPDIR)/include/asterisk/build.h ; then echo ; else \
X 		mv $(ASTTOPDIR)/include/asterisk/build.h.tmp $(ASTTOPDIR)/include/asterisk/build.h ; \
END-of-./asterisk/files/patch-main::Makefile
echo x - ./asterisk/files/patch-main::db.c
sed 's/^X//' >./asterisk/files/patch-main::db.c << 'END-of-./asterisk/files/patch-main::db.c'
X
X$FreeBSD: ports/net/asterisk/files/patch-main::db.c,v 1.1 2007/04/13 08:06:05 sobomax Exp $
X
X--- main/db.c.orig	Fri Jan 13 11:05:32 2006
X+++ main/db.c	Fri Jan 13 11:06:55 2006
X@@ -35,6 +35,7 @@
X #include <errno.h>
X #include <unistd.h>
X #include <dirent.h>
X+#include <db.h>
X 
X #include "asterisk.h"
X 
X@@ -51,7 +52,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revisi
X #include "asterisk/utils.h"
X #include "asterisk/lock.h"
X #include "asterisk/manager.h"
X-#include "db1-ast/include/db.h"
X 
X #ifdef __CYGWIN__
X #define dbopen __dbopen
END-of-./asterisk/files/patch-main::db.c
echo x - ./asterisk/files/patch-main::frame.c
sed 's/^X//' >./asterisk/files/patch-main::frame.c << 'END-of-./asterisk/files/patch-main::frame.c'
X
X$FreeBSD: ports/net/asterisk/files/patch-main::frame.c,v 1.1 2007/04/13 08:06:05 sobomax Exp $
X
X--- main/frame.c.orig	Wed Jan 25 13:22:43 2006
X+++ main/frame.c	Wed Jan 25 13:21:25 2006
X@@ -1170,7 +1170,7 @@ static int g723_len(unsigned char buf)
X {
X 	switch(buf & TYPE_MASK) {
X 	case TYPE_DONTSEND:
X-		return 0;
X+		return 2;
X 		break;
X 	case TYPE_SILENCE:
X 		return 4;
END-of-./asterisk/files/patch-main::frame.c
echo x - ./asterisk/files/patch-main::utils.c
sed 's/^X//' >./asterisk/files/patch-main::utils.c << 'END-of-./asterisk/files/patch-main::utils.c'
X
X$FreeBSD: ports/net/asterisk/files/patch-main::utils.c,v 1.1 2007/04/13 08:06:05 sobomax Exp $
X
X--- main/utils.c
X+++ main/utils.c
X@@ -58,7 +58,7 @@
X static char base64[64];
X static char b2a[256];
X 
X-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined( __NetBSD__ ) || defined(__APPLE__) || defined(__CYGWIN__)
X+#if (defined(__FreeBSD__) && __FreeBSD_version < 601103) || defined(__OpenBSD__) || defined( __NetBSD__ ) || defined(__APPLE__) || defined(__CYGWIN__)
X 
X /* duh? ERANGE value copied from web... */
X #define ERANGE 34
END-of-./asterisk/files/patch-main::utils.c
echo x - ./asterisk/files/patch-configure.ac
sed 's/^X//' >./asterisk/files/patch-configure.ac << 'END-of-./asterisk/files/patch-configure.ac'
X--- configure.ac.orig	Fri Jun 29 20:18:36 2007
X+++ configure.ac	Tue Jul 10 14:14:40 2007
X@@ -196,6 +196,7 @@
X AST_EXT_LIB_SETUP([OPENH323], [OpenH323], [h323])
X AST_EXT_LIB_SETUP([QT], [Qt], [qt])
X AST_EXT_LIB_SETUP([RADIUS], [Radius Client], [radius])
X+AST_EXT_LIB_SETUP([SPANDSP], [Spandsp Library], [spandsp])
X AST_EXT_LIB_SETUP([SPEEX], [Speex], [speex])
X AST_EXT_LIB_SETUP([SQLITE], [SQLite], [sqlite])
X AST_EXT_LIB_SETUP([SUPPSERV], [mISDN Supplemental Services], [suppserv])
X@@ -912,6 +913,8 @@
X AC_LANG_POP
X 
X AST_EXT_LIB_CHECK([RADIUS], [radiusclient-ng], [rc_read_config], [radiusclient-ng.h])
X+
X+AST_EXT_LIB_CHECK([SPANDSP], [spandsp], [fax_init], [spandsp.h], [-ltiff])
X 
X AST_EXT_LIB_CHECK([SPEEX], [speex], [speex_encode], [speex/speex.h], [-lm])
X 
END-of-./asterisk/files/patch-configure.ac
echo x - ./asterisk/files/patch-apps::app_rxfax.c
sed 's/^X//' >./asterisk/files/patch-apps::app_rxfax.c << 'END-of-./asterisk/files/patch-apps::app_rxfax.c'
X--- apps/app_rxfax.c.orig	Tue Jul 10 15:28:04 2007
X+++ apps/app_rxfax.c	Tue Jul 10 15:27:28 2007
X@@ -0,0 +1,380 @@
X+/*
X+ * Asterisk -- A telephony toolkit for Linux.
X+ *
X+ * Trivial application to receive a TIFF FAX file
X+ * 
X+ * Copyright (C) 2003, Steve Underwood
X+ *
X+ * Steve Underwood <steveu at coppice.org>
X+ *
X+ * This program is free software, distributed under the terms of
X+ * the GNU General Public License
X+ */
X+
X+/*** MODULEINFO
X+         <depend>spandsp</depend>
X+***/
X+ 
X+#include "asterisk.h"
X+
X+ASTERISK_FILE_VERSION(__FILE__, "$Revision:$")
X+
X+#include <string.h>
X+#include <stdlib.h>
X+#include <stdio.h>
X+#include <inttypes.h>
X+#include <pthread.h>
X+#include <errno.h>
X+#include <tiffio.h>
X+
X+#include <spandsp.h>
X+
X+#include "asterisk/lock.h"
X+#include "asterisk/file.h"
X+#include "asterisk/logger.h"
X+#include "asterisk/channel.h"
X+#include "asterisk/pbx.h"
X+#include "asterisk/module.h"
X+#include "asterisk/manager.h"
X+
X+#ifndef AST_MODULE
X+#define AST_MODULE "app_rxfax"
X+#endif
X+
X+static char *app = "RxFAX";
X+
X+static char *synopsis = "Receive a FAX to a file";
X+
X+static char *descrip = 
X+"  RxFAX(filename[|caller][|debug]): Receives a FAX from the channel into the\n"
X+"given filename. If the file exists it will be overwritten. The file\n"
X+"should be in TIFF/F format.\n"
X+"The \"caller\" option makes the application behave as a calling machine,\n"
X+"rather than the answering machine. The default behaviour is to behave as\n"
X+"an answering machine.\n"
X+"Uses LOCALSTATIONID to identify itself to the remote end.\n"
X+"     LOCALHEADERINFO to generate a header line on each page.\n"
X+"Sets REMOTESTATIONID to the sender CSID.\n"
X+"     FAXPAGES to the number of pages received.\n"
X+"     FAXBITRATE to the transmition rate.\n"
X+"     FAXRESOLUTION to the resolution.\n"
X+"Returns -1 when the user hangs up.\n"
X+"Returns 0 otherwise.\n";
X+
X+#define MAX_BLOCK_SIZE 240
X+
X+static void span_message(int level, const char *msg)
X+{
X+    int ast_level;
X+    
X+    if (level == SPAN_LOG_WARNING)
X+        ast_level = __LOG_WARNING;
X+    else if (level == SPAN_LOG_WARNING)
X+        ast_level = __LOG_WARNING;
X+    else
X+        ast_level = __LOG_DEBUG;
X+    ast_log(ast_level, __FILE__, __LINE__, __PRETTY_FUNCTION__, msg);
X+}
X+/*- End of function --------------------------------------------------------*/
X+
X+#if 0
X+static void t30_flush(t30_state_t *s, int which)
X+{
X+    /* TODO: */
X+}
X+/*- End of function --------------------------------------------------------*/
X+#endif
X+
X+static void phase_e_handler(t30_state_t *s, void *user_data, int result)
X+{
X+    struct ast_channel *chan;
X+    t30_stats_t t;
X+    char local_ident[21];
X+    char far_ident[21];
X+    char buf[11];
X+    
X+    chan = (struct ast_channel *) user_data;
X+    if (result == T30_ERR_OK)
X+    {
X+        t30_get_transfer_statistics(s, &t);
X+        t30_get_far_ident(s, far_ident);
X+        t30_get_local_ident(s, local_ident);
X+        ast_log(LOG_DEBUG, "==============================================================================\n");
X+        ast_log(LOG_DEBUG, "Fax successfully received.\n");
X+        ast_log(LOG_DEBUG, "Remote station id: %s\n", far_ident);
X+        ast_log(LOG_DEBUG, "Local station id:  %s\n", local_ident);
X+        ast_log(LOG_DEBUG, "Pages transferred: %i\n", t.pages_transferred);
X+        ast_log(LOG_DEBUG, "Image resolution:  %i x %i\n", t.x_resolution, t.y_resolution);
X+        ast_log(LOG_DEBUG, "Transfer Rate:     %i\n", t.bit_rate);
X+        ast_log(LOG_DEBUG, "==============================================================================\n");
X+        manager_event(EVENT_FLAG_CALL,
X+                      "FaxReceived", "Channel: %s\nExten: %s\nCallerID: %s\nRemoteStationID: %s\nLocalStationID: %s\nPagesTransferred: %i\nResolution: %i\nTransferRate: %i\nFileName: %s\n",
X+                      chan->name,
X+                      chan->exten,
X+                      (chan->cid.cid_num)  ?  chan->cid.cid_num  :  "",
X+                      far_ident,
X+                      local_ident,
X+                      t.pages_transferred,
X+                      t.y_resolution,
X+                      t.bit_rate,
X+                      s->rx_file);
X+        pbx_builtin_setvar_helper(chan, "REMOTESTATIONID", far_ident);
X+        snprintf(buf, sizeof(buf), "%i", t.pages_transferred);
X+        pbx_builtin_setvar_helper(chan, "FAXPAGES", buf);
X+        snprintf(buf, sizeof(buf), "%i", t.y_resolution);
X+        pbx_builtin_setvar_helper(chan, "FAXRESOLUTION", buf);
X+        snprintf(buf, sizeof(buf), "%i", t.bit_rate);
X+        pbx_builtin_setvar_helper(chan, "FAXBITRATE", buf);
X+    }
X+    else
X+    {
X+        ast_log(LOG_DEBUG, "==============================================================================\n");
X+        ast_log(LOG_DEBUG, "Fax receive not successful - result (%d) %s.\n", result, t30_completion_code_to_str(result));
X+        ast_log(LOG_DEBUG, "==============================================================================\n");
X+    }
X+}
X+/*- End of function --------------------------------------------------------*/
X+
X+static void phase_d_handler(t30_state_t *s, void *user_data, int result)
X+{
X+    struct ast_channel *chan;
X+    t30_stats_t t;
X+    
X+    chan = (struct ast_channel *) user_data;
X+    if (result)
X+    {
X+        t30_get_transfer_statistics(s, &t);
X+        ast_log(LOG_DEBUG, "==============================================================================\n");
X+        ast_log(LOG_DEBUG, "Pages transferred:  %i\n", t.pages_transferred);
X+        ast_log(LOG_DEBUG, "Image size:         %i x %i\n", t.width, t.length);
X+        ast_log(LOG_DEBUG, "Image resolution    %i x %i\n", t.x_resolution, t.y_resolution);
X+        ast_log(LOG_DEBUG, "Transfer Rate:      %i\n", t.bit_rate);
X+        ast_log(LOG_DEBUG, "Bad rows            %i\n", t.bad_rows);
X+        ast_log(LOG_DEBUG, "Longest bad row run %i\n", t.longest_bad_row_run);
X+        ast_log(LOG_DEBUG, "Compression type    %i\n", t.encoding);
X+        ast_log(LOG_DEBUG, "Image size (bytes)  %i\n", t.image_size);
X+        ast_log(LOG_DEBUG, "==============================================================================\n");
X+    }
X+}
X+/*- End of function --------------------------------------------------------*/
X+
X+static int rxfax_exec(struct ast_channel *chan, void *data)
X+{
X+    int res = 0;
X+    char template_file[256];
X+    char target_file[256];
X+    char *s;
X+    char *t;
X+    char *v;
X+    const char *x;
X+    int option;
X+    int len;
X+    int i;
X+    fax_state_t fax;
X+    int calling_party;
X+    int verbose;
X+    int samples;
X+
X+    struct ast_module_user *u;
X+    struct ast_frame *inf = NULL;
X+    struct ast_frame outf;
X+
X+    int original_read_fmt;
X+    int original_write_fmt;
X+    
X+    uint8_t __buf[sizeof(uint16_t)*MAX_BLOCK_SIZE + 2*AST_FRIENDLY_OFFSET];
X+    uint8_t *buf = __buf + AST_FRIENDLY_OFFSET;
X+
X+    if (chan == NULL)
X+    {
X+        ast_log(LOG_WARNING, "Fax receive channel is NULL. Giving up.\n");
X+        return -1;
X+    }
X+
X+    span_set_message_handler(span_message);
X+
X+    /* The next few lines of code parse out the filename and header from the input string */
X+    if (data == NULL)
X+    {
X+        /* No data implies no filename or anything is present */
X+        ast_log(LOG_WARNING, "Rxfax requires an argument (filename)\n");
X+        return -1;
X+    }
X+    
X+    calling_party = FALSE;
X+    verbose = FALSE;
X+    target_file[0] = '\0';
X+
X+    for (option = 0, v = s = data;  v;  option++, s++)
X+    {
X+        t = s;
X+        v = strchr(s, '|');
X+        s = (v)  ?  v  :  s + strlen(s);
X+        strncpy((char *) buf, t, s - t);
X+        buf[s - t] = '\0';
X+        if (option == 0)
X+        {
X+            /* The first option is always the file name */
X+            len = s - t;
X+            if (len > 255)
X+                len = 255;
X+            strncpy(target_file, t, len);
X+            target_file[len] = '\0';
X+            /* Allow the use of %d in the file name for a wild card of sorts, to
X+               create a new file with the specified name scheme */
X+            if ((x = strchr(target_file, '%'))  &&  x[1] == 'd')
X+            {
X+                strcpy(template_file, target_file);
X+                i = 0;
X+                do
X+                {
X+                    snprintf(target_file, 256, template_file, 1);
X+                    i++;
X+                }
X+                while (ast_fileexists(target_file, "", chan->language) != -1);
X+            }
X+        }
X+        else if (strncmp("caller", t, s - t) == 0)
X+        {
X+            calling_party = TRUE;
X+        }
X+        else if (strncmp("debug", t, s - t) == 0)
X+        {
X+            verbose = TRUE;
X+        }
X+    }
X+
X+    /* Done parsing */
X+
X+    u = ast_module_user_add(chan);
X+
X+    if (chan->_state != AST_STATE_UP)
X+    {
X+        /* Shouldn't need this, but checking to see if channel is already answered
X+         * Theoretically asterisk should already have answered before running the app */
X+        res = ast_answer(chan);
X+    }
X+    
X+    if (!res)
X+    {
X+        original_read_fmt = chan->readformat;
X+        if (original_read_fmt != AST_FORMAT_SLINEAR)
X+        {
X+            res = ast_set_read_format(chan, AST_FORMAT_SLINEAR);
X+            if (res < 0)
X+            {
X+                ast_log(LOG_WARNING, "Unable to set to linear read mode, giving up\n");
X+                return -1;
X+            }
X+        }
X+        original_write_fmt = chan->writeformat;
X+        if (original_write_fmt != AST_FORMAT_SLINEAR)
X+        {
X+            res = ast_set_write_format(chan, AST_FORMAT_SLINEAR);
X+            if (res < 0)
X+            {
X+                ast_log(LOG_WARNING, "Unable to set to linear write mode, giving up\n");
X+                res = ast_set_read_format(chan, original_read_fmt);
X+                if (res)
X+                    ast_log(LOG_WARNING, "Unable to restore read format on '%s'\n", chan->name);
X+                return -1;
X+            }
X+        }
X+        fax_init(&fax, calling_party);
X+        if (verbose)
X+            fax.logging.level = SPAN_LOG_SHOW_SEVERITY | SPAN_LOG_SHOW_PROTOCOL | SPAN_LOG_FLOW;
X+        x = pbx_builtin_getvar_helper(chan, "LOCALSTATIONID");
X+        if (x  &&  x[0])
X+            t30_set_local_ident(&fax.t30_state, x);
X+        x = pbx_builtin_getvar_helper(chan, "LOCALHEADERINFO");
X+        if (x  &&  x[0])
X+            t30_set_header_info(&fax.t30_state, x);
X+        t30_set_rx_file(&fax.t30_state, target_file, -1);
X+        //t30_set_phase_b_handler(&fax.t30_state, phase_b_handler, chan);
X+        t30_set_phase_d_handler(&fax.t30_state, phase_d_handler, chan);
X+        t30_set_phase_e_handler(&fax.t30_state, phase_e_handler, chan);
X+        t30_set_ecm_capability(&fax.t30_state, TRUE);
X+        t30_set_supported_compressions(&fax.t30_state, T30_SUPPORT_T4_1D_COMPRESSION | T30_SUPPORT_T4_2D_COMPRESSION | T30_SUPPORT_T6_COMPRESSION);
X+        while (ast_waitfor(chan, -1) > -1)
X+        {
X+            inf = ast_read(chan);
X+            if (inf == NULL)
X+            {
X+                res = -1;
X+                break;
X+            }
X+            if (inf->frametype == AST_FRAME_VOICE)
X+            {
X+                if (fax_rx(&fax, inf->data, inf->samples))
X+                    break;
X+                samples = (inf->samples <= MAX_BLOCK_SIZE)  ?  inf->samples  :  MAX_BLOCK_SIZE;
X+                len = fax_tx(&fax, (int16_t *) &buf[AST_FRIENDLY_OFFSET], samples);
X+                if (len)
X+                {
X+                    memset(&outf, 0, sizeof(outf));
X+                    outf.frametype = AST_FRAME_VOICE;
X+                    outf.subclass = AST_FORMAT_SLINEAR;
X+                    outf.datalen = len*sizeof(int16_t);
X+                    outf.samples = len;
X+                    outf.data = &buf[AST_FRIENDLY_OFFSET];
X+                    outf.offset = AST_FRIENDLY_OFFSET;
X+                    outf.src = "RxFAX";
X+                    if (ast_write(chan, &outf) < 0)
X+                    {
X+                        ast_log(LOG_WARNING, "Unable to write frame to channel; %s\n", strerror(errno));
X+                        break;
X+                    }
X+                }
X+            }
X+            ast_frfree(inf);
X+        }
X+        if (inf == NULL)
X+        {
X+            ast_log(LOG_DEBUG, "Got hangup\n");
X+            res = -1;
X+        }
X+        if (original_read_fmt != AST_FORMAT_SLINEAR)
X+        {
X+            res = ast_set_read_format(chan, original_read_fmt);
X+            if (res)
X+                ast_log(LOG_WARNING, "Unable to restore read format on '%s'\n", chan->name);
X+        }
X+        if (original_write_fmt != AST_FORMAT_SLINEAR)
X+        {
X+            res = ast_set_write_format(chan, original_write_fmt);
X+            if (res)
X+                ast_log(LOG_WARNING, "Unable to restore write format on '%s'\n", chan->name);
X+        }
X+        t30_terminate(&fax.t30_state);
X+    }
X+    else
X+    {
X+        ast_log(LOG_WARNING, "Could not answer channel '%s'\n", chan->name);
X+    }
X+    ast_module_user_remove(u);
X+    return res;
X+}
X+/*- End of function --------------------------------------------------------*/
X+
X+static int unload_module(void)
X+{
X+	int res;
X+
X+	ast_module_user_hangup_all();
X+
X+	res = ast_unregister_application(app);	
X+	
X+
X+	return res;
X+}
X+/*- End of function --------------------------------------------------------*/
X+
X+static int load_module(void)
X+{
X+	return ast_register_application(app, rxfax_exec, synopsis, descrip);
X+}
X+/*- End of function --------------------------------------------------------*/
X+
X+AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Trivial FAX Receive Application");
X+
X+/*- End of file ------------------------------------------------------------*/
END-of-./asterisk/files/patch-apps::app_rxfax.c
echo x - ./asterisk/files/patch-apps::app_txfax.c
sed 's/^X//' >./asterisk/files/patch-apps::app_txfax.c << 'END-of-./asterisk/files/patch-apps::app_txfax.c'
X--- apps/app_txfax.c.orig	Tue Jul 10 15:28:13 2007
X+++ apps/app_txfax.c	Tue Jul 10 15:27:37 2007
X@@ -0,0 +1,306 @@
X+/*
X+ * Asterisk -- A telephony toolkit for Linux.
X+ *
X+ * Trivial application to send a TIFF file as a FAX
X+ * 
X+ * Copyright (C) 2003, Steve Underwood
X+ *
X+ * Steve Underwood <steveu at coppice.org>
X+ *
X+ * This program is free software, distributed under the terms of
X+ * the GNU General Public License
X+ */
X+
X+/*** MODULEINFO
X+         <depend>spandsp</depend>
X+***/
X+ 
X+#include "asterisk.h"
X+
X+ASTERISK_FILE_VERSION(__FILE__, "$Revision:$")
X+
X+#include <string.h>
X+#include <stdlib.h>
X+#include <stdio.h>
X+#include <inttypes.h>
X+#include <pthread.h>
X+#include <errno.h>
X+#include <tiffio.h>
X+
X+#include <spandsp.h>
X+
X+#include "asterisk/lock.h"
X+#include "asterisk/file.h"
X+#include "asterisk/logger.h"
X+#include "asterisk/channel.h"
X+#include "asterisk/pbx.h"
X+#include "asterisk/module.h"
X+
X+#ifndef AST_MODULE
X+#define AST_MODULE "app_txfax"
X+#endif
X+
X+static char *app = "TxFAX";
X+
X+static char *synopsis = "Send a FAX file";
X+
X+static char *descrip = 
X+"  TxFAX(filename[|caller][|debug]):  Send a given TIFF file to the channel as a FAX.\n"
X+"The \"caller\" option makes the application behave as a calling machine,\n"
X+"rather than the answering machine. The default behaviour is to behave as\n"
X+"an answering machine.\n"
X+"Uses LOCALSTATIONID to identify itself to the remote end.\n"
X+"     LOCALHEADERINFO to generate a header line on each page.\n"
X+"Sets REMOTESTATIONID to the receiver CSID.\n"
X+"Returns -1 when the user hangs up, or if the file does not exist.\n"
X+"Returns 0 otherwise.\n";
X+
X+#define MAX_BLOCK_SIZE 240
X+
X+static void span_message(int level, const char *msg)
X+{
X+    int ast_level;
X+    
X+    if (level == SPAN_LOG_WARNING)
X+        ast_level = __LOG_WARNING;
X+    else if (level == SPAN_LOG_WARNING)
X+        ast_level = __LOG_WARNING;
X+    else
X+        ast_level = __LOG_DEBUG;
X+    ast_log(ast_level, __FILE__, __LINE__, __PRETTY_FUNCTION__, msg);
X+}
X+/*- End of function --------------------------------------------------------*/
X+
X+#if 0
X+static void t30_flush(t30_state_t *s, int which)
X+{
X+    /* TODO: */
X+}
X+/*- End of function --------------------------------------------------------*/
X+#endif
X+
X+static void phase_e_handler(t30_state_t *s, void *user_data, int result)
X+{
X+    struct ast_channel *chan;
X+    char far_ident[21];
X+    
X+    chan = (struct ast_channel *) user_data;
X+    if (result == T30_ERR_OK)
X+    {
X+        t30_get_far_ident(s, far_ident);
X+        pbx_builtin_setvar_helper(chan, "REMOTESTATIONID", far_ident);
X+    }
X+    else
X+    {
X+        ast_log(LOG_DEBUG, "==============================================================================\n");
X+        ast_log(LOG_DEBUG, "Fax send not successful - result (%d) %s.\n", result, t30_completion_code_to_str(result));
X+        ast_log(LOG_DEBUG, "==============================================================================\n");
X+    }
X+}
X+/*- End of function --------------------------------------------------------*/
X+
X+static int txfax_exec(struct ast_channel *chan, void *data)
X+{
X+    int res = 0;
X+    char source_file[256];
X+    char *s;
X+    char *t;
X+    char *v;
X+    const char *x;
X+    int option;
X+    int len;
X+    fax_state_t fax;
X+    int calling_party;
X+    int verbose;
X+    int samples;
X+    
X+    struct ast_module_user *u;
X+    struct ast_frame *inf = NULL;
X+    struct ast_frame outf;
X+
X+    int original_read_fmt;
X+    int original_write_fmt;
X+    
X+    uint8_t __buf[sizeof(uint16_t)*MAX_BLOCK_SIZE + 2*AST_FRIENDLY_OFFSET];
X+    uint8_t *buf = __buf + AST_FRIENDLY_OFFSET;
X+
X+    if (chan == NULL)
X+    {
X+        ast_log(LOG_WARNING, "Fax transmit channel is NULL. Giving up.\n");
X+        return -1;
X+    }
X+
X+    span_set_message_handler(span_message);
X+
X+    /* The next few lines of code parse out the filename and header from the input string */
X+    if (data == NULL)
X+    {
X+        /* No data implies no filename or anything is present */
X+        ast_log(LOG_WARNING, "Txfax requires an argument (filename)\n");
X+        return -1;
X+    }
X+    
X+    calling_party = FALSE;
X+    verbose = FALSE;
X+    source_file[0] = '\0'; 
X+
X+    for (option = 0, v = s = data;  v;  option++, s++)
X+    {
X+        t = s;
X+        v = strchr(s, '|');
X+        s = (v)  ?  v  :  s + strlen(s);
X+        strncpy((char *) buf, t, s - t);
X+        buf[s - t] = '\0';
X+        if (option == 0)
X+        {
X+            /* The first option is always the file name */
X+            len = s - t;
X+            if (len > 255)
X+                len = 255;
X+            strncpy(source_file, t, len);
X+            source_file[len] = '\0';
X+        }
X+        else if (strncmp("caller", t, s - t) == 0)
X+        {
X+            calling_party = TRUE;
X+        }
X+        else if (strncmp("debug", t, s - t) == 0)
X+        {
X+            verbose = TRUE;
X+        }
X+    }
X+
X+    /* Done parsing */
X+
X+    u = ast_module_user_add(chan);
X+
X+    if (chan->_state != AST_STATE_UP)
X+    {
X+        /* Shouldn't need this, but checking to see if channel is already answered
X+         * Theoretically asterisk should already have answered before running the app */
X+        res = ast_answer(chan);
X+    }
X+    
X+    if (!res)
X+    {
X+        original_read_fmt = chan->readformat;
X+        if (original_read_fmt != AST_FORMAT_SLINEAR)
X+        {
X+            res = ast_set_read_format(chan, AST_FORMAT_SLINEAR);
X+            if (res < 0)
X+            {
X+                ast_log(LOG_WARNING, "Unable to set to linear read mode, giving up\n");
X+                return -1;
X+            }
X+        }
X+        original_write_fmt = chan->writeformat;
X+        if (original_write_fmt != AST_FORMAT_SLINEAR)
X+        {
X+            res = ast_set_write_format(chan, AST_FORMAT_SLINEAR);
X+            if (res < 0)
X+            {
X+                ast_log(LOG_WARNING, "Unable to set to linear write mode, giving up\n");
X+                res = ast_set_read_format(chan, original_read_fmt);
X+                if (res)
X+                    ast_log(LOG_WARNING, "Unable to restore read format on '%s'\n", chan->name);
X+                return -1;
X+            }
X+        }
X+        fax_init(&fax, calling_party);
X+        if (verbose)
X+	    fax.logging.level = SPAN_LOG_SHOW_SEVERITY | SPAN_LOG_SHOW_PROTOCOL | SPAN_LOG_FLOW;
X+
X+        x = pbx_builtin_getvar_helper(chan, "LOCALSTATIONID");
X+        if (x  &&  x[0])
X+            t30_set_local_ident(&fax.t30_state, x);
X+        x = pbx_builtin_getvar_helper(chan, "LOCALHEADERINFO");
X+        if (x  &&  x[0])
X+            t30_set_header_info(&fax.t30_state, x);
X+        t30_set_tx_file(&fax.t30_state, source_file, -1, -1);
X+        //t30_set_phase_b_handler(&fax.t30_state, phase_b_handler, chan);
X+        //t30_set_phase_d_handler(&fax.t30_state, phase_d_handler, chan);
X+        t30_set_phase_e_handler(&fax.t30_state, phase_e_handler, chan);
X+        t30_set_ecm_capability(&fax.t30_state, TRUE);
X+        t30_set_supported_compressions(&fax.t30_state, T30_SUPPORT_T4_1D_COMPRESSION | T30_SUPPORT_T4_2D_COMPRESSION | T30_SUPPORT_T6_COMPRESSION);
X+        while (ast_waitfor(chan, -1) > -1)
X+        {
X+            inf = ast_read(chan);
X+            if (inf == NULL)
X+            {
X+                res = -1;
X+                break;
X+            }
X+            if (inf->frametype == AST_FRAME_VOICE)
X+            {
X+                if (fax_rx(&fax, inf->data, inf->samples))
X+                    break;
X+                samples = (inf->samples <= MAX_BLOCK_SIZE)  ?  inf->samples  :  MAX_BLOCK_SIZE;
X+                len = fax_tx(&fax, (int16_t *) &buf[AST_FRIENDLY_OFFSET], samples);
X+                if (len)
X+                {
X+                    memset(&outf, 0, sizeof(outf));
X+                    outf.frametype = AST_FRAME_VOICE;
X+                    outf.subclass = AST_FORMAT_SLINEAR;
X+                    outf.datalen = len*sizeof(int16_t);
X+                    outf.samples = len;
X+                    outf.data = &buf[AST_FRIENDLY_OFFSET];
X+                    outf.offset = AST_FRIENDLY_OFFSET;
X+                    if (ast_write(chan, &outf) < 0)
X+                    {
X+                        ast_log(LOG_WARNING, "Unable to write frame to channel; %s\n", strerror(errno));
X+                        break;
X+                    }
X+                }
X+            }
X+            ast_frfree(inf);
X+        }
X+        if (inf == NULL)
X+        {
X+            ast_log(LOG_DEBUG, "Got hangup\n");
X+            res = -1;
X+        }
X+        if (original_read_fmt != AST_FORMAT_SLINEAR)
X+        {
X+            res = ast_set_read_format(chan, original_read_fmt);
X+            if (res)
X+                ast_log(LOG_WARNING, "Unable to restore read format on '%s'\n", chan->name);
X+        }
X+        if (original_write_fmt != AST_FORMAT_SLINEAR)
X+        {
X+            res = ast_set_write_format(chan, original_write_fmt);
X+            if (res)
X+                ast_log(LOG_WARNING, "Unable to restore write format on '%s'\n", chan->name);
X+        }
X+        t30_terminate(&fax.t30_state);
X+    }
X+    else
X+    {
X+        ast_log(LOG_WARNING, "Could not answer channel '%s'\n", chan->name);
X+    }
X+    ast_module_user_remove(u);
X+    return res;
X+}
X+/*- End of function --------------------------------------------------------*/
X+
X+static int unload_module(void)
X+{
X+	int res;
X+
X+	ast_module_user_hangup_all();
X+
X+	res = ast_unregister_application(app);	
X+	
X+
X+	return res;
X+}
X+/*- End of function --------------------------------------------------------*/
X+
X+static int load_module(void)
X+{
X+    return ast_register_application(app, txfax_exec, synopsis, descrip);
X+}
X+/*- End of function --------------------------------------------------------*/
X+
X+AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Trivial FAX Transmit Application");
X+
X+/*- End of file ------------------------------------------------------------*/
END-of-./asterisk/files/patch-apps::app_txfax.c
echo x - ./asterisk/files/patch-build_tools::menuselect-deps.in
sed 's/^X//' >./asterisk/files/patch-build_tools::menuselect-deps.in << 'END-of-./asterisk/files/patch-build_tools::menuselect-deps.in'
X--- build_tools/menuselect-deps.in.orig	2006-09-03 15:50:32.000000000 +0800
X+++ build_tools/menuselect-deps.in	2006-09-03 15:50:44.000000000 +0800
X@@ -17,10 +17,11 @@
X PGSQL=@PBX_PGSQL@
X POPT=@PBX_POPT@
X PRI=@PBX_PRI@
X QT=@PBX_QT@
X RADIUS=@PBX_RADIUS@
X+SPANDSP=@PBX_SPANDSP@
X SPEEX=@PBX_SPEEX@
X SQLITE=@PBX_SQLITE@
X SSL=@PBX_OPENSSL@
X TONEZONE=@PBX_TONEZONE@
X UNIXODBC=@PBX_UNIXODBC@
END-of-./asterisk/files/patch-build_tools::menuselect-deps.in
echo x - ./asterisk/files/patch-makeopts.in
sed 's/^X//' >./asterisk/files/patch-makeopts.in << 'END-of-./asterisk/files/patch-makeopts.in'
X--- makeopts.in.orig	2006-09-03 15:53:47.000000000 +0800
X+++ makeopts.in	2006-09-03 15:53:53.000000000 +0800
X@@ -120,10 +120,13 @@
X QT_LIB=@QT_LIB@
X 
X RADIUS_INCLUDE=@RADIUS_INCLUDE@
X RADIUS_LIB=@RADIUS_LIB@
X 
X+SPANDSP_INCLUDE=@SPANDSP_INCLUDE@
X+SPANDSP_LIB=@SPANDSP_LIB@
X+
X SPEEX_INCLUDE=@SPEEX_INCLUDE@
X SPEEX_LIB=@SPEEX_LIB@
X 
X SQLITE_INCLUDE=@SQLITE_INCLUDE@
X SQLITE_LIB=@SQLITE_LIB@
END-of-./asterisk/files/patch-makeopts.in
echo x - ./asterisk/Makefile
sed 's/^X//' >./asterisk/Makefile << 'END-of-./asterisk/Makefile'
X# New ports collection makefile for:	asterisk
X# Date created:				17 October 2003
X# Whom:					Maxim Sobolev <sobomax at portaone.com>
X#
X# $FreeBSD: ports/net/asterisk/Makefile,v 1.73 2007/05/29 20:52:15 sobomax Exp $
X#
X
XPORTNAME=	asterisk
XPORTVERSION=	1.4.6
XPORTREVISION=	1
XCATEGORIES=	net
XMASTER_SITES=	http://ftp.digium.com/pub/asterisk/ \
X		http://ftp.digium.com/pub/asterisk/old-releases/
XDISTNAME=	${PORTNAME}-${PORTVERSION}
X
XMAINTAINER=	sobomax at FreeBSD.org
XCOMMENT=	An Open Source PBX and telephony toolkit
X
XLIB_DEPENDS=	speex.1:${PORTSDIR}/audio/speex \
X		newt.51:${PORTSDIR}/devel/newt \
X		curl.4:${PORTSDIR}/ftp/curl
X
XONLY_FOR_ARCHS=	i386 sparc64 amd64
X
XGNU_CONFIGURE=	yes
XCONFIGURE_ARGS=	--mandir=${LOCALBASE}/man
XCONFIGURE_ENV=	CPPFLAGS="-I${LOCALBASE}/include" \
X		LDFLAGS="-L${LOCALBASE}/lib"
XUSE_GMAKE=	yes
XUSE_BISON=	yes
XUSE_RC_SUBR=	asterisk.sh
XMAKE_ENV=	PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
X		PTHREAD_LIBS="${PTHREAD_LIBS}" \
X		MKDIR="${MKDIR}" \
X		PWLIBDIR=${LOCALBASE}/share/pwlib \
X		OPENH323DIR=${LOCALBASE}/share/openh323 \
X		OSVERSION=${OSVERSION} \
X		CXX="${CXX}"
XMAN8=		asterisk.8 astgenkey.8 autosupport.8 safe_asterisk.8
X
XOPTIONS=	OGGVORBIS	"Enable Ogg Vorbis support" on \
X		ODBC		"Enable ODBC support" on \
X		POSTGRES	"Enable PostgreSQL support" on \
X		RADIUS		"Enable RADIUS accounting support" on \
X		SNMP		"Enable SNMP support" on \
X		H323		"Enable H.323 support" on \
X		FREETDS		"Enable FreeTDS support" on \
X		JABBER		"Enable Jabber and Gtalk support" on \
X		ZAPTEL		"Enable Zaptel support" on
X
X.include <bsd.port.pre.mk>
X
X.if defined(WITHOUT_H323)
XPLIST_SUB+=	WITH_H323="@comment "
XCONFIGURE_ARGS+=	--without-h323
X.else
XPLIST_SUB+=	WITH_H323=""
XCONFIGURE_ARGS+=	--with-h323
XLIB_DEPENDS+=	pt_r.1:${PORTSDIR}/devel/pwlib \
X		h323_r.1:${PORTSDIR}/net/openh323
X.endif
X
X.if defined(WITHOUT_ZAPTEL)
XPLIST_SUB+=	WITH_ZAPTEL="@comment "
XCONFIGURE_ARGS+=	--without-zaptel
X.else
XPLIST_SUB+=	WITH_ZAPTEL=""
XCONFIGURE_ARGS+=	--with-zaptel
XBUILD_DEPENDS+=	libpri>=1.2.0:${PORTSDIR}/misc/libpri \
X		${LOCALBASE}/include/zaptel/zaptel.h:${PORTSDIR}/misc/zaptel
XLIB_DEPENDS+=	pri.1:${PORTSDIR}/misc/libpri
XRUN_DEPENDS+=	${LOCALBASE}/include/zaptel/zaptel.h:${PORTSDIR}/misc/zaptel
X.endif
X
X#
X# WITH_FREETDS, WITH_PGSQL and WITH_SQLITE can also be added to MAKE_ENV
X# similarly
X.if defined(WITHOUT_ODBC)
XPLIST_SUB+=	WITH_ODBC="@comment "
XCONFIGURE_ARGS+=	--without-odbc
X.else
XPLIST_SUB+=	WITH_ODBC=""
XCONFIGURE_ARGS+=	--with-odbc
XLIB_DEPENDS+=	odbc.1:${PORTSDIR}/databases/unixODBC
X.endif
X
X.if defined(WITHOUT_FREETDS)
XPLIST_SUB+=	WITH_FREETDS="@comment "
XCONFIGURE_ARGS+=	--without-tds
X.else
XPLIST_SUB+=	WITH_FREETDS=""
XCONFIGURE_ARGS+=	--with-tds=${LOCALBASE}
XLIB_DEPENDS+=	tds.5:${PORTSDIR}/databases/freetds
X.endif
X
X.if defined(WITHOUT_POSTGRES)
XPLIST_SUB+=	WITH_POSTGRES="@comment "
XCONFIGURE_ARGS+=	--without-postgres
X.else
XPLIST_SUB+=	WITH_POSTGRES=""
XUSE_PGSQL=	yes
XCONFIGURE_ARGS+=	--with-postgres
X.endif
X
X.if defined(WITHOUT_OGGVORBIS)
XPLIST_SUB+=	WITH_OGGVORBIS="@comment "
XCONFIGURE_ARGS+=	--without-ogg
X.else
XPLIST_SUB+=	WITH_OGGVORBIS=""
XCONFIGURE_ARGS+=	--with-ogg
XLIB_DEPENDS+=	vorbis.3:${PORTSDIR}/audio/libvorbis
X.endif
X
X.if defined(WITHOUT_RADIUS)
XPLIST_SUB+=	WITH_RADIUS="@comment "
XCONFIGURE_ARGS+=	--without-radius
X.else
XPLIST_SUB+=	WITH_RADIUS=""
XCONFIGURE_ARGS+=	--with-radius
XLIB_DEPENDS+=	radiusclient-ng.2:${PORTSDIR}/net/radiusclient
X.endif
X
X.if defined(WITHOUT_SNMP)
XPLIST_SUB+=	WITH_SNMP="@comment "
XCONFIGURE_ARGS+=	--without-netsnmp
X.else
XPLIST_SUB+=	WITH_SNMP=""
XCONFIGURE_ARGS+=	--with-netsnmp
XLIB_DEPENDS+=	netsnmp.10:${PORTSDIR}/net-mgmt/net-snmp
X.endif
X
X.if defined(WITHOUT_JABBER)
XPLIST_SUB+=	WITH_JABBER="@comment "
XCONFIGURE_ARGS+=	--without-iksemel
X.else
XPLIST_SUB+=	WITH_JABBER=""
XCONFIGURE_ARGS+=	--with-iksemel
XLIB_DEPENDS+=	iksemel.3:${PORTSDIR}/textproc/iksemel
X.endif
X
X.if defined(WITHOUT_FAX)
XPLIST_SUB+=	WITH_FAX="@comment "
X.else
XMAKE_ENV+=	WITH_FAX=yes
XCONFIGURE_ARGS+=	--with-spandsp=yes
XLIB_DEPENDS+=	spandsp.0:${PORTSDIR}/comms/spandsp-devel
XPLIST_SUB+=	WITH_FAX=""
X.endif
X
Xpost-patch:
X	@${REINPLACE_CMD} -e 's|/var/lib|${PREFIX}/share|g' ${WRKSRC}/configs/musiconhold.conf.sample
X
X.include <bsd.port.post.mk>
END-of-./asterisk/Makefile
echo x - ./asterisk/distinfo
sed 's/^X//' >./asterisk/distinfo << 'END-of-./asterisk/distinfo'
XMD5 (asterisk-1.4.6.tar.gz) = 579b154c9045a69945b8547e590c25a1
XSHA256 (asterisk-1.4.6.tar.gz) = f15bb0a6e23e9e2952248917098beeedf9f3333cf2f3ad77e46996ce8298c934
XSIZE (asterisk-1.4.6.tar.gz) = 11157378
END-of-./asterisk/distinfo
echo x - ./asterisk/pkg-descr
sed 's/^X//' >./asterisk/pkg-descr << 'END-of-./asterisk/pkg-descr'
XAsterisk is an Open Source PBX and telephony toolkit.  It is, in a
Xsense, middleware between Internet and telephony channels on the bottom,
Xand Internet and telephony applications at the top.
X
XWWW: http://www.asteriskpbx.com
END-of-./asterisk/pkg-descr
echo x - ./asterisk/pkg-plist
sed 's/^X//' >./asterisk/pkg-plist << 'END-of-./asterisk/pkg-plist'
X at unexec if cmp -s %D/etc/asterisk/adsi.conf %D/etc/asterisk/adsi.conf-dist; then rm -f %D/etc/asterisk/adsi.conf; fi
Xetc/asterisk/adsi.conf-dist
X at unexec if cmp -s %D/etc/asterisk/adtranvofr.conf %D/etc/asterisk/adtranvofr.conf-dist; then rm -f %D/etc/asterisk/adtranvofr.conf; fi
Xetc/asterisk/adtranvofr.conf-dist
X at unexec if cmp -s %D/etc/asterisk/agents.conf %D/etc/asterisk/agents.conf-dist; then rm -f %D/etc/asterisk/agents.conf; fi
Xetc/asterisk/agents.conf-dist
X at unexec if cmp -s %D/etc/asterisk/alarmreceiver.conf %D/etc/asterisk/alarmreceiver.conf-dist; then rm -f %D/etc/asterisk/alarmreceiver.conf; fi
Xetc/asterisk/alarmreceiver.conf-dist
X at unexec if cmp -s %D/etc/asterisk/alsa.conf %D/etc/asterisk/alsa.conf-dist; then rm -f %D/etc/asterisk/alsa.conf; fi
Xetc/asterisk/alsa.conf-dist
X at unexec if cmp -s %D/etc/asterisk/asterisk.adsi %D/etc/asterisk/asterisk.adsi-dist; then rm -f %D/etc/asterisk/asterisk.adsi; fi
Xetc/asterisk/asterisk.adsi-dist
X at unexec if cmp -s %D/etc/asterisk/asterisk.conf %D/etc/asterisk/asterisk.conf-dist; then rm -f %D/etc/asterisk/asterisk.conf; fi
Xetc/asterisk/asterisk.conf-dist
X at unexec if cmp -s %D/etc/asterisk/cdr.conf %D/etc/asterisk/cdr.conf-dist; then rm -f %D/etc/asterisk/cdr.conf; fi
Xetc/asterisk/cdr.conf-dist
X at unexec if cmp -s %D/etc/asterisk/cdr_custom.conf %D/etc/asterisk/cdr_custom.conf-dist; then rm -f %D/etc/asterisk/cdr_custom.conf; fi
Xetc/asterisk/cdr_custom.conf-dist
X at unexec if cmp -s %D/etc/asterisk/cdr_manager.conf %D/etc/asterisk/cdr_manager.conf-dist; then rm -f %D/etc/asterisk/cdr_manager.conf; fi
Xetc/asterisk/cdr_manager.conf-dist
X at unexec if cmp -s %D/etc/asterisk/cdr_odbc.conf %D/etc/asterisk/cdr_odbc.conf-dist; then rm -f %D/etc/asterisk/cdr_odbc.conf; fi
Xetc/asterisk/cdr_odbc.conf-dist
X at unexec if cmp -s %D/etc/asterisk/cdr_pgsql.conf %D/etc/asterisk/cdr_pgsql.conf-dist; then rm -f %D/etc/asterisk/cdr_pgsql.conf; fi
Xetc/asterisk/cdr_pgsql.conf-dist
X at unexec if cmp -s %D/etc/asterisk/cdr_tds.conf %D/etc/asterisk/cdr_tds.conf-dist; then rm -f %D/etc/asterisk/cdr_tds.conf; fi
Xetc/asterisk/cdr_tds.conf-dist
X at unexec if cmp -s %D/etc/asterisk/codecs.conf %D/etc/asterisk/codecs.conf-dist; then rm -f %D/etc/asterisk/codecs.conf; fi
Xetc/asterisk/codecs.conf-dist
X at unexec if cmp -s %D/etc/asterisk/dnsmgr.conf %D/etc/asterisk/dnsmgr.conf-dist; then rm -f %D/etc/asterisk/dnsmgr.conf; fi
Xetc/asterisk/dnsmgr.conf-dist
X at unexec if cmp -s %D/etc/asterisk/dundi.conf %D/etc/asterisk/dundi.conf-dist; then rm -f %D/etc/asterisk/dundi.conf; fi
Xetc/asterisk/dundi.conf-dist
X at unexec if cmp -s %D/etc/asterisk/enum.conf %D/etc/asterisk/enum.conf-dist; then rm -f %D/etc/asterisk/enum.conf; fi
Xetc/asterisk/enum.conf-dist
X at unexec if cmp -s %D/etc/asterisk/extconfig.conf %D/etc/asterisk/extconfig.conf-dist; then rm -f %D/etc/asterisk/extconfig.conf; fi
Xetc/asterisk/extconfig.conf-dist
X at unexec if cmp -s %D/etc/asterisk/extensions.ael %D/etc/asterisk/extensions.ael-dist; then rm -f %D/etc/asterisk/extensions.ael; fi
Xetc/asterisk/extensions.ael-dist
X at unexec if cmp -s %D/etc/asterisk/extensions.conf %D/etc/asterisk/extensions.conf-dist; then rm -f %D/etc/asterisk/extensions.conf; fi
Xetc/asterisk/extensions.conf-dist
X at unexec if cmp -s %D/etc/asterisk/features.conf %D/etc/asterisk/features.conf-dist; then rm -f %D/etc/asterisk/features.conf; fi
Xetc/asterisk/features.conf-dist
X at unexec if cmp -s %D/etc/asterisk/festival.conf %D/etc/asterisk/festival.conf-dist; then rm -f %D/etc/asterisk/festival.conf; fi
Xetc/asterisk/festival.conf-dist
X at unexec if cmp -s %D/etc/asterisk/iax.conf %D/etc/asterisk/iax.conf-dist; then rm -f %D/etc/asterisk/iax.conf; fi
Xetc/asterisk/iax.conf-dist
X at unexec if cmp -s %D/etc/asterisk/iaxprov.conf %D/etc/asterisk/iaxprov.conf-dist; then rm -f %D/etc/asterisk/iaxprov.conf; fi
Xetc/asterisk/iaxprov.conf-dist
X at unexec if cmp -s %D/etc/asterisk/indications.conf %D/etc/asterisk/indications.conf-dist; then rm -f %D/etc/asterisk/indications.conf; fi
Xetc/asterisk/indications.conf-dist
X at unexec if cmp -s %D/etc/asterisk/logger.conf %D/etc/asterisk/logger.conf-dist; then rm -f %D/etc/asterisk/logger.conf; fi
Xetc/asterisk/logger.conf-dist
X at unexec if cmp -s %D/etc/asterisk/manager.conf %D/etc/asterisk/manager.conf-dist; then rm -f %D/etc/asterisk/manager.conf; fi
Xetc/asterisk/manager.conf-dist
X at unexec if cmp -s %D/etc/asterisk/meetme.conf %D/etc/asterisk/meetme.conf-dist; then rm -f %D/etc/asterisk/meetme.conf; fi
Xetc/asterisk/meetme.conf-dist
X at unexec if cmp -s %D/etc/asterisk/mgcp.conf %D/etc/asterisk/mgcp.conf-dist; then rm -f %D/etc/asterisk/mgcp.conf; fi
Xetc/asterisk/mgcp.conf-dist
X at unexec if cmp -s %D/etc/asterisk/misdn.conf %D/etc/asterisk/misdn.conf-dist; then rm -f %D/etc/asterisk/misdn.conf; fi
Xetc/asterisk/misdn.conf-dist
X at unexec if cmp -s %D/etc/asterisk/modem.conf %D/etc/asterisk/modem.conf-dist; then rm -f %D/etc/asterisk/modem.conf; fi
Xetc/asterisk/modem.conf-dist
X at unexec if cmp -s %D/etc/asterisk/modules.conf %D/etc/asterisk/modules.conf-dist; then rm -f %D/etc/asterisk/modules.conf; fi
Xetc/asterisk/modules.conf-dist
X at unexec if cmp -s %D/etc/asterisk/musiconhold.conf %D/etc/asterisk/musiconhold.conf-dist; then rm -f %D/etc/asterisk/musiconhold.conf; fi
Xetc/asterisk/musiconhold.conf-dist
X at unexec if cmp -s %D/etc/asterisk/osp.conf %D/etc/asterisk/osp.conf-dist; then rm -f %D/etc/asterisk/osp.conf; fi
Xetc/asterisk/osp.conf-dist
X at unexec if cmp -s %D/etc/asterisk/oss.conf %D/etc/asterisk/oss.conf-dist; then rm -f %D/etc/asterisk/oss.conf; fi
Xetc/asterisk/oss.conf-dist
X at unexec if cmp -s %D/etc/asterisk/phone.conf %D/etc/asterisk/phone.conf-dist; then rm -f %D/etc/asterisk/phone.conf; fi
Xetc/asterisk/phone.conf-dist
X at unexec if cmp -s %D/etc/asterisk/privacy.conf %D/etc/asterisk/privacy.conf-dist; then rm -f %D/etc/asterisk/privacy.conf; fi
Xetc/asterisk/privacy.conf-dist
X at unexec if cmp -s %D/etc/asterisk/queues.conf %D/etc/asterisk/queues.conf-dist; then rm -f %D/etc/asterisk/queues.conf; fi
Xetc/asterisk/queues.conf-dist
X at unexec if cmp -s %D/etc/asterisk/res_odbc.conf %D/etc/asterisk/res_odbc.conf-dist; then rm -f %D/etc/asterisk/res_odbc.conf; fi
Xetc/asterisk/res_odbc.conf-dist
X at unexec if cmp -s %D/etc/asterisk/rpt.conf %D/etc/asterisk/rpt.conf-dist; then rm -f %D/etc/asterisk/rpt.conf; fi
Xetc/asterisk/rpt.conf-dist
X at unexec if cmp -s %D/etc/asterisk/rtp.conf %D/etc/asterisk/rtp.conf-dist; then rm -f %D/etc/asterisk/rtp.conf; fi
Xetc/asterisk/rtp.conf-dist
X at unexec if cmp -s %D/etc/asterisk/sip.conf %D/etc/asterisk/sip.conf-dist; then rm -f %D/etc/asterisk/sip.conf; fi
Xetc/asterisk/sip.conf-dist
X at unexec if cmp -s %D/etc/asterisk/sip_notify.conf %D/etc/asterisk/sip_notify.conf-dist; then rm -f %D/etc/asterisk/sip_notify.conf; fi
Xetc/asterisk/sip_notify.conf-dist
X at unexec if cmp -s %D/etc/asterisk/skinny.conf %D/etc/asterisk/skinny.conf-dist; then rm -f %D/etc/asterisk/skinny.conf; fi
Xetc/asterisk/skinny.conf-dist
X at unexec if cmp -s %D/etc/asterisk/telcordia-1.adsi %D/etc/asterisk/telcordia-1.adsi-dist; then rm -f %D/etc/asterisk/telcordia-1.adsi; fi
Xetc/asterisk/telcordia-1.adsi-dist
X at unexec if cmp -s %D/etc/asterisk/voicemail.conf %D/etc/asterisk/voicemail.conf-dist; then rm -f %D/etc/asterisk/voicemail.conf; fi
Xetc/asterisk/voicemail.conf-dist
X at unexec if cmp -s %D/etc/asterisk/vpb.conf %D/etc/asterisk/vpb.conf-dist; then rm -f %D/etc/asterisk/vpb.conf; fi
Xetc/asterisk/vpb.conf-dist
X at unexec if cmp -s %D/etc/asterisk/zapata.conf %D/etc/asterisk/zapata.conf-dist; then rm -f %D/etc/asterisk/zapata.conf; fi
Xetc/asterisk/zapata.conf-dist
X at unexec if cmp -s %D/etc/asterisk/udptl.conf %D/etc/asterisk/udptl.conf-dist; then rm -f %D/etc/asterisk/udptl.conf; fi
Xetc/asterisk/udptl.conf-dist
X at unexec if cmp -s %D/etc/asterisk/users.conf %D/etc/asterisk/users.conf-dist; then rm -f %D/etc/asterisk/users.conf; fi
Xetc/asterisk/users.conf-dist
X at unexec if cmp -s %D/etc/asterisk/smdi.conf %D/etc/asterisk/smdi.conf-dist; then rm -f %D/etc/asterisk/smdi.conf; fi
Xetc/asterisk/smdi.conf-dist
X at unexec if cmp -s %D/etc/asterisk/sla.conf %D/etc/asterisk/sla.conf-dist; then rm -f %D/etc/asterisk/sla.conf; fi
Xetc/asterisk/sla.conf-dist
X at unexec if cmp -s %D/etc/asterisk/say.conf %D/etc/asterisk/say.conf-dist; then rm -f %D/etc/asterisk/say.conf; fi
Xetc/asterisk/say.conf-dist
X at unexec if cmp -s %D/etc/asterisk/res_snmp.conf %D/etc/asterisk/res_snmp.conf-dist; then rm -f %D/etc/asterisk/res_snmp.conf; fi
Xetc/asterisk/res_snmp.conf-dist
X at unexec if cmp -s %D/etc/asterisk/muted.conf %D/etc/asterisk/muted.conf-dist; then rm -f %D/etc/asterisk/muted.conf; fi
Xetc/asterisk/muted.conf-dist
X at unexec if cmp -s %D/etc/asterisk/jabber.conf %D/etc/asterisk/jabber.conf-dist; then rm -f %D/etc/asterisk/jabber.conf; fi
Xetc/asterisk/jabber.conf-dist
X at unexec if cmp -s %D/etc/asterisk/http.conf %D/etc/asterisk/http.conf-dist; then rm -f %D/etc/asterisk/http.conf; fi
Xetc/asterisk/http.conf-dist
X at unexec if cmp -s %D/etc/asterisk/h323.conf %D/etc/asterisk/h323.conf-dist; then rm -f %D/etc/asterisk/h323.conf; fi
Xetc/asterisk/h323.conf-dist
X at unexec if cmp -s %D/etc/asterisk/gtalk.conf %D/etc/asterisk/gtalk.conf-dist; then rm -f %D/etc/asterisk/gtalk.conf; fi
Xetc/asterisk/gtalk.conf-dist
X at unexec if cmp -s %D/etc/asterisk/func_odbc.conf %D/etc/asterisk/func_odbc.conf-dist; then rm -f %D/etc/asterisk/func_odbc.conf; fi
Xetc/asterisk/func_odbc.conf-dist
X at unexec if cmp -s %D/etc/asterisk/followme.conf %D/etc/asterisk/followme.conf-dist; then rm -f %D/etc/asterisk/followme.conf; fi
Xetc/asterisk/followme.conf-dist
X at unexec if cmp -s %D/etc/asterisk/amd.conf %D/etc/asterisk/amd.conf-dist; then rm -f %D/etc/asterisk/amd.conf; fi
Xetc/asterisk/amd.conf-dist
Xinclude/asterisk.h
Xinclude/asterisk/abstract_jb.h
Xinclude/asterisk/acl.h
Xinclude/asterisk/adsi.h
Xinclude/asterisk/ael_structs.h
Xinclude/asterisk/aes.h
Xinclude/asterisk/agi.h
Xinclude/asterisk/alaw.h
Xinclude/asterisk/app.h
Xinclude/asterisk/ast_expr.h
Xinclude/asterisk/astdb.h
Xinclude/asterisk/astmm.h
Xinclude/asterisk/astobj.h
Xinclude/asterisk/astosp.h
Xinclude/asterisk/autoconfig.h
Xinclude/asterisk/build.h
Xinclude/asterisk/buildopts.h
Xinclude/asterisk/callerid.h
Xinclude/asterisk/causes.h
Xinclude/asterisk/cdr.h
Xinclude/asterisk/channel.h
Xinclude/asterisk/chanspy.h
Xinclude/asterisk/chanvars.h
Xinclude/asterisk/cli.h
Xinclude/asterisk/compat.h
Xinclude/asterisk/compiler.h
Xinclude/asterisk/config.h
Xinclude/asterisk/crypto.h
Xinclude/asterisk/devicestate.h
Xinclude/asterisk/dial.h
Xinclude/asterisk/dlfcn-compat.h
Xinclude/asterisk/dns.h
Xinclude/asterisk/dnsmgr.h
Xinclude/asterisk/doxyref.h
Xinclude/asterisk/dsp.h
Xinclude/asterisk/dundi.h
Xinclude/asterisk/endian.h
Xinclude/asterisk/enum.h
Xinclude/asterisk/features.h
Xinclude/asterisk/file.h
Xinclude/asterisk/frame.h
Xinclude/asterisk/fskmodem.h
Xinclude/asterisk/http.h
Xinclude/asterisk/image.h
Xinclude/asterisk/indications.h
Xinclude/asterisk/inline_api.h
Xinclude/asterisk/io.h
Xinclude/asterisk/jabber.h
Xinclude/asterisk/jingle.h
Xinclude/asterisk/linkedlists.h
Xinclude/asterisk/localtime.h
Xinclude/asterisk/lock.h
Xinclude/asterisk/logger.h
Xinclude/asterisk/manager.h
Xinclude/asterisk/md5.h
Xinclude/asterisk/module.h
Xinclude/asterisk/monitor.h
Xinclude/asterisk/musiconhold.h
Xinclude/asterisk/netsock.h
Xinclude/asterisk/options.h
Xinclude/asterisk/paths.h
Xinclude/asterisk/pbx.h
Xinclude/asterisk/plc.h
Xinclude/asterisk/poll-compat.h
Xinclude/asterisk/privacy.h
Xinclude/asterisk/res_odbc.h
Xinclude/asterisk/rtp.h
Xinclude/asterisk/say.h
Xinclude/asterisk/sched.h
Xinclude/asterisk/sha1.h
Xinclude/asterisk/slinfactory.h
Xinclude/asterisk/smdi.h
Xinclude/asterisk/speech.h
Xinclude/asterisk/srv.h
Xinclude/asterisk/stringfields.h
Xinclude/asterisk/strings.h
Xinclude/asterisk/tdd.h
Xinclude/asterisk/term.h
Xinclude/asterisk/threadstorage.h
Xinclude/asterisk/time.h
Xinclude/asterisk/transcap.h
Xinclude/asterisk/translate.h
Xinclude/asterisk/udptl.h
Xinclude/asterisk/ulaw.h
Xinclude/asterisk/unaligned.h
Xinclude/asterisk/utils.h
Xinclude/asterisk/version.h
Xlib/asterisk/modules/app_adsiprog.so
Xlib/asterisk/modules/app_alarmreceiver.so
Xlib/asterisk/modules/app_amd.so
Xlib/asterisk/modules/app_authenticate.so
Xlib/asterisk/modules/app_cdr.so
Xlib/asterisk/modules/app_chanisavail.so
Xlib/asterisk/modules/app_channelredirect.so
Xlib/asterisk/modules/app_chanspy.so
Xlib/asterisk/modules/app_controlplayback.so
Xlib/asterisk/modules/app_db.so
Xlib/asterisk/modules/app_dial.so
Xlib/asterisk/modules/app_dictate.so
Xlib/asterisk/modules/app_directed_pickup.so
Xlib/asterisk/modules/app_directory.so
Xlib/asterisk/modules/app_disa.so
Xlib/asterisk/modules/app_dumpchan.so
Xlib/asterisk/modules/app_echo.so
Xlib/asterisk/modules/app_exec.so
Xlib/asterisk/modules/app_externalivr.so
Xlib/asterisk/modules/app_festival.so
Xlib/asterisk/modules/app_followme.so
Xlib/asterisk/modules/app_forkcdr.so
Xlib/asterisk/modules/app_getcpeid.so
Xlib/asterisk/modules/app_hasnewvoicemail.so
Xlib/asterisk/modules/app_ices.so
Xlib/asterisk/modules/app_image.so
Xlib/asterisk/modules/app_lookupblacklist.so
Xlib/asterisk/modules/app_lookupcidname.so
Xlib/asterisk/modules/app_macro.so
Xlib/asterisk/modules/app_milliwatt.so
Xlib/asterisk/modules/app_mixmonitor.so
Xlib/asterisk/modules/app_morsecode.so
Xlib/asterisk/modules/app_mp3.so
Xlib/asterisk/modules/app_nbscat.so
Xlib/asterisk/modules/app_parkandannounce.so
Xlib/asterisk/modules/app_playback.so
Xlib/asterisk/modules/app_privacy.so
Xlib/asterisk/modules/app_queue.so
Xlib/asterisk/modules/app_random.so
Xlib/asterisk/modules/app_read.so
Xlib/asterisk/modules/app_readfile.so
Xlib/asterisk/modules/app_realtime.so
Xlib/asterisk/modules/app_record.so
X%%WITH_FAX%%lib/asterisk/modules/app_rxfax.so
Xlib/asterisk/modules/app_sayunixtime.so
Xlib/asterisk/modules/app_senddtmf.so
Xlib/asterisk/modules/app_sendtext.so
Xlib/asterisk/modules/app_setcallerid.so
Xlib/asterisk/modules/app_setcdruserfield.so
Xlib/asterisk/modules/app_settransfercapability.so
Xlib/asterisk/modules/app_sms.so
Xlib/asterisk/modules/app_softhangup.so
Xlib/asterisk/modules/app_speech_utils.so
Xlib/asterisk/modules/app_stack.so
Xlib/asterisk/modules/app_system.so
Xlib/asterisk/modules/app_talkdetect.so
Xlib/asterisk/modules/app_test.so
Xlib/asterisk/modules/app_transfer.so
X%%WITH_FAX%%lib/asterisk/modules/app_txfax.so
Xlib/asterisk/modules/app_url.so
Xlib/asterisk/modules/app_userevent.so
Xlib/asterisk/modules/app_verbose.so
Xlib/asterisk/modules/app_voicemail.so
Xlib/asterisk/modules/app_waitforring.so
Xlib/asterisk/modules/app_waitforsilence.so
Xlib/asterisk/modules/app_while.so
Xlib/asterisk/modules/app_zapateller.so
Xlib/asterisk/modules/cdr_csv.so
Xlib/asterisk/modules/cdr_custom.so
Xlib/asterisk/modules/cdr_manager.so
X%%WITH_POSTGRES%%lib/asterisk/modules/cdr_pgsql.so
X%%WITH_RADIUS%%lib/asterisk/modules/cdr_radius.so
Xlib/asterisk/modules/chan_agent.so
X%%WITH_JABBER%%lib/asterisk/modules/chan_gtalk.so
Xlib/asterisk/modules/chan_iax2.so
Xlib/asterisk/modules/chan_local.so
Xlib/asterisk/modules/chan_mgcp.so
Xlib/asterisk/modules/chan_oss.so
Xlib/asterisk/modules/chan_sip.so
Xlib/asterisk/modules/chan_skinny.so
Xlib/asterisk/modules/codec_a_mu.so
Xlib/asterisk/modules/codec_adpcm.so
Xlib/asterisk/modules/codec_alaw.so
Xlib/asterisk/modules/codec_g726.so
Xlib/asterisk/modules/codec_gsm.so
Xlib/asterisk/modules/codec_ilbc.so
Xlib/asterisk/modules/codec_lpc10.so
Xlib/asterisk/modules/codec_speex.so
Xlib/asterisk/modules/codec_ulaw.so
Xlib/asterisk/modules/format_g723.so
Xlib/asterisk/modules/format_g726.so
Xlib/asterisk/modules/format_g729.so
Xlib/asterisk/modules/format_gsm.so
Xlib/asterisk/modules/format_h263.so
Xlib/asterisk/modules/format_h264.so
Xlib/asterisk/modules/format_ilbc.so
Xlib/asterisk/modules/format_jpeg.so
X%%WITH_OGGVORBIS%%lib/asterisk/modules/format_ogg_vorbis.so
Xlib/asterisk/modules/format_pcm.so
Xlib/asterisk/modules/format_sln.so
Xlib/asterisk/modules/format_vox.so
Xlib/asterisk/modules/format_wav.so
Xlib/asterisk/modules/format_wav_gsm.so
Xlib/asterisk/modules/func_base64.so
Xlib/asterisk/modules/func_callerid.so
Xlib/asterisk/modules/func_cdr.so
Xlib/asterisk/modules/func_channel.so
Xlib/asterisk/modules/func_curl.so
Xlib/asterisk/modules/func_cut.so
Xlib/asterisk/modules/func_db.so
Xlib/asterisk/modules/func_enum.so
Xlib/asterisk/modules/func_env.so
Xlib/asterisk/modules/func_global.so
Xlib/asterisk/modules/func_groupcount.so
Xlib/asterisk/modules/func_language.so
Xlib/asterisk/modules/func_logic.so
Xlib/asterisk/modules/func_math.so
Xlib/asterisk/modules/func_md5.so
Xlib/asterisk/modules/func_moh.so
X%%WITH_ODBC%%lib/asterisk/modules/func_odbc.so
Xlib/asterisk/modules/func_rand.so
Xlib/asterisk/modules/func_realtime.so
Xlib/asterisk/modules/func_sha1.so
Xlib/asterisk/modules/func_strings.so
Xlib/asterisk/modules/func_timeout.so
Xlib/asterisk/modules/func_uri.so
Xlib/asterisk/modules/pbx_ael.so
Xlib/asterisk/modules/pbx_config.so
Xlib/asterisk/modules/pbx_dundi.so
Xlib/asterisk/modules/pbx_loopback.so
Xlib/asterisk/modules/pbx_realtime.so
Xlib/asterisk/modules/pbx_spool.so
Xlib/asterisk/modules/res_adsi.so
Xlib/asterisk/modules/res_agi.so
Xlib/asterisk/modules/res_clioriginate.so
X%%WITH_POSTGRES%%lib/asterisk/modules/res_config_pgsql.so
Xlib/asterisk/modules/res_convert.so
Xlib/asterisk/modules/res_crypto.so
Xlib/asterisk/modules/res_features.so
Xlib/asterisk/modules/res_indications.so
X%%WITH_JABBER%%lib/asterisk/modules/res_jabber.so
Xlib/asterisk/modules/res_monitor.so
Xlib/asterisk/modules/res_musiconhold.so
Xlib/asterisk/modules/res_smdi.so
X%%WITH_SNMP%%lib/asterisk/modules/res_snmp.so
Xlib/asterisk/modules/res_speech.so
Xsbin/aelparse
Xsbin/asterisk
Xsbin/astgenkey
Xsbin/astman
Xsbin/autosupport
Xsbin/muted
Xsbin/rasterisk
Xsbin/safe_asterisk
Xsbin/smsq
Xsbin/stereorize
Xsbin/streamplayer
Xshare/asterisk/agi-bin/agi-test.agi
Xshare/asterisk/agi-bin/eagi-sphinx-test
Xshare/asterisk/agi-bin/eagi-test
Xshare/asterisk/agi-bin/jukebox.agi
Xshare/asterisk/firmware/iax/iaxy.bin
Xshare/asterisk/images/asterisk-intro.jpg
Xshare/asterisk/keys/freeworlddialup.pub
Xshare/asterisk/keys/iaxtel.pub
Xshare/asterisk/moh/.asterisk-moh-freeplay-wav
Xshare/asterisk/moh/LICENSE-asterisk-moh-freeplay-wav
Xshare/asterisk/moh/fpm-calm-river.wav
Xshare/asterisk/moh/fpm-sunshine.wav
Xshare/asterisk/moh/fpm-world-mix.wav
Xshare/asterisk/sounds/.asterisk-core-sounds-en-gsm-1.4.7
Xshare/asterisk/sounds/CREDITS-asterisk-core-en-1.4.7
Xshare/asterisk/sounds/agent-alreadyon.gsm
Xshare/asterisk/sounds/agent-incorrect.gsm
Xshare/asterisk/sounds/agent-loggedoff.gsm
Xshare/asterisk/sounds/agent-loginok.gsm
Xshare/asterisk/sounds/agent-newlocation.gsm
Xshare/asterisk/sounds/agent-pass.gsm
Xshare/asterisk/sounds/agent-user.gsm
Xshare/asterisk/sounds/auth-incorrect.gsm
Xshare/asterisk/sounds/auth-thankyou.gsm
Xshare/asterisk/sounds/beep.gsm
Xshare/asterisk/sounds/beeperr.gsm
Xshare/asterisk/sounds/conf-adminmenu.gsm
Xshare/asterisk/sounds/conf-enteringno.gsm
Xshare/asterisk/sounds/conf-errormenu.gsm
Xshare/asterisk/sounds/conf-getchannel.gsm
Xshare/asterisk/sounds/conf-getconfno.gsm
Xshare/asterisk/sounds/conf-getpin.gsm
Xshare/asterisk/sounds/conf-hasjoin.gsm
Xshare/asterisk/sounds/conf-hasleft.gsm
Xshare/asterisk/sounds/conf-invalid.gsm
Xshare/asterisk/sounds/conf-invalidpin.gsm
Xshare/asterisk/sounds/conf-kicked.gsm
Xshare/asterisk/sounds/conf-leaderhasleft.gsm
Xshare/asterisk/sounds/conf-locked.gsm
Xshare/asterisk/sounds/conf-lockednow.gsm
Xshare/asterisk/sounds/conf-muted.gsm
Xshare/asterisk/sounds/conf-noempty.gsm
Xshare/asterisk/sounds/conf-onlyone.gsm
Xshare/asterisk/sounds/conf-onlyperson.gsm
Xshare/asterisk/sounds/conf-otherinparty.gsm
Xshare/asterisk/sounds/conf-placeintoconf.gsm
Xshare/asterisk/sounds/conf-thereare.gsm
Xshare/asterisk/sounds/conf-unlockednow.gsm
Xshare/asterisk/sounds/conf-unmuted.gsm
Xshare/asterisk/sounds/conf-usermenu.gsm
Xshare/asterisk/sounds/conf-userswilljoin.gsm
Xshare/asterisk/sounds/conf-userwilljoin.gsm
Xshare/asterisk/sounds/conf-waitforleader.gsm
Xshare/asterisk/sounds/core-sounds-en.txt
Xshare/asterisk/sounds/demo-abouttotry.gsm
Xshare/asterisk/sounds/demo-congrats.gsm
Xshare/asterisk/sounds/demo-echodone.gsm
Xshare/asterisk/sounds/demo-echotest.gsm
Xshare/asterisk/sounds/demo-enterkeywords.gsm
Xshare/asterisk/sounds/demo-instruct.gsm
Xshare/asterisk/sounds/demo-moreinfo.gsm
Xshare/asterisk/sounds/demo-nogo.gsm
Xshare/asterisk/sounds/demo-nomatch.gsm
Xshare/asterisk/sounds/demo-thanks.gsm
Xshare/asterisk/sounds/dictate/both_help.gsm
Xshare/asterisk/sounds/dictate/enter_filename.gsm
Xshare/asterisk/sounds/dictate/forhelp.gsm
Xshare/asterisk/sounds/dictate/pause.gsm
Xshare/asterisk/sounds/dictate/paused.gsm
Xshare/asterisk/sounds/dictate/play_help.gsm
Xshare/asterisk/sounds/dictate/playback.gsm
Xshare/asterisk/sounds/dictate/playback_mode.gsm
Xshare/asterisk/sounds/dictate/record.gsm
Xshare/asterisk/sounds/dictate/record_help.gsm
Xshare/asterisk/sounds/dictate/record_mode.gsm
Xshare/asterisk/sounds/dictate/truncating_audio.gsm
Xshare/asterisk/sounds/digits/0.gsm
Xshare/asterisk/sounds/digits/1.gsm
Xshare/asterisk/sounds/digits/10.gsm
Xshare/asterisk/sounds/digits/11.gsm
Xshare/asterisk/sounds/digits/12.gsm
Xshare/asterisk/sounds/digits/13.gsm
Xshare/asterisk/sounds/digits/14.gsm
Xshare/asterisk/sounds/digits/15.gsm
Xshare/asterisk/sounds/digits/16.gsm
Xshare/asterisk/sounds/digits/17.gsm
Xshare/asterisk/sounds/digits/18.gsm
Xshare/asterisk/sounds/digits/19.gsm
Xshare/asterisk/sounds/digits/2.gsm
Xshare/asterisk/sounds/digits/20.gsm
Xshare/asterisk/sounds/digits/3.gsm
Xshare/asterisk/sounds/digits/30.gsm
Xshare/asterisk/sounds/digits/4.gsm
Xshare/asterisk/sounds/digits/40.gsm
Xshare/asterisk/sounds/digits/5.gsm
Xshare/asterisk/sounds/digits/50.gsm
Xshare/asterisk/sounds/digits/6.gsm
Xshare/asterisk/sounds/digits/60.gsm
Xshare/asterisk/sounds/digits/7.gsm
Xshare/asterisk/sounds/digits/70.gsm
Xshare/asterisk/sounds/digits/8.gsm
Xshare/asterisk/sounds/digits/80.gsm
Xshare/asterisk/sounds/digits/9.gsm
Xshare/asterisk/sounds/digits/90.gsm
Xshare/asterisk/sounds/digits/a-m.gsm
Xshare/asterisk/sounds/digits/at.gsm
Xshare/asterisk/sounds/digits/day-0.gsm
Xshare/asterisk/sounds/digits/day-1.gsm
Xshare/asterisk/sounds/digits/day-2.gsm
Xshare/asterisk/sounds/digits/day-3.gsm
Xshare/asterisk/sounds/digits/day-4.gsm
Xshare/asterisk/sounds/digits/day-5.gsm
Xshare/asterisk/sounds/digits/day-6.gsm
Xshare/asterisk/sounds/digits/dollars.gsm
Xshare/asterisk/sounds/digits/h-1.gsm
Xshare/asterisk/sounds/digits/h-10.gsm
Xshare/asterisk/sounds/digits/h-11.gsm
Xshare/asterisk/sounds/digits/h-12.gsm
Xshare/asterisk/sounds/digits/h-13.gsm
Xshare/asterisk/sounds/digits/h-14.gsm
Xshare/asterisk/sounds/digits/h-15.gsm
Xshare/asterisk/sounds/digits/h-16.gsm
Xshare/asterisk/sounds/digits/h-17.gsm
Xshare/asterisk/sounds/digits/h-18.gsm
Xshare/asterisk/sounds/digits/h-19.gsm
Xshare/asterisk/sounds/digits/h-2.gsm
Xshare/asterisk/sounds/digits/h-20.gsm
Xshare/asterisk/sounds/digits/h-3.gsm
Xshare/asterisk/sounds/digits/h-30.gsm
Xshare/asterisk/sounds/digits/h-4.gsm
Xshare/asterisk/sounds/digits/h-5.gsm
Xshare/asterisk/sounds/digits/h-6.gsm
Xshare/asterisk/sounds/digits/h-7.gsm
Xshare/asterisk/sounds/digits/h-8.gsm
Xshare/asterisk/sounds/digits/h-9.gsm
Xshare/asterisk/sounds/digits/hundred.gsm
Xshare/asterisk/sounds/digits/million.gsm
Xshare/asterisk/sounds/digits/minus.gsm
Xshare/asterisk/sounds/digits/mon-0.gsm
Xshare/asterisk/sounds/digits/mon-1.gsm
Xshare/asterisk/sounds/digits/mon-10.gsm
Xshare/asterisk/sounds/digits/mon-11.gsm
Xshare/asterisk/sounds/digits/mon-2.gsm
Xshare/asterisk/sounds/digits/mon-3.gsm
Xshare/asterisk/sounds/digits/mon-4.gsm
Xshare/asterisk/sounds/digits/mon-5.gsm
Xshare/asterisk/sounds/digits/mon-6.gsm
Xshare/asterisk/sounds/digits/mon-7.gsm
Xshare/asterisk/sounds/digits/mon-8.gsm
Xshare/asterisk/sounds/digits/mon-9.gsm
Xshare/asterisk/sounds/digits/oclock.gsm
Xshare/asterisk/sounds/digits/oh.gsm
Xshare/asterisk/sounds/digits/p-m.gsm
Xshare/asterisk/sounds/digits/pound.gsm
Xshare/asterisk/sounds/digits/star.gsm
Xshare/asterisk/sounds/digits/thousand.gsm
Xshare/asterisk/sounds/digits/today.gsm
Xshare/asterisk/sounds/digits/tomorrow.gsm
Xshare/asterisk/sounds/digits/yesterday.gsm
Xshare/asterisk/sounds/dir-instr.gsm
Xshare/asterisk/sounds/dir-intro-fn.gsm
Xshare/asterisk/sounds/dir-intro.gsm
Xshare/asterisk/sounds/dir-nomatch.gsm
Xshare/asterisk/sounds/dir-nomore.gsm
Xshare/asterisk/sounds/followme/call-from.gsm
Xshare/asterisk/sounds/followme/no-recording.gsm
Xshare/asterisk/sounds/followme/options.gsm
Xshare/asterisk/sounds/followme/pls-hold-while-try.gsm
Xshare/asterisk/sounds/followme/sorry.gsm
Xshare/asterisk/sounds/followme/status.gsm
Xshare/asterisk/sounds/hello-world.gsm
Xshare/asterisk/sounds/hours.gsm
Xshare/asterisk/sounds/invalid.gsm
Xshare/asterisk/sounds/letters/a.gsm
Xshare/asterisk/sounds/letters/at.gsm
Xshare/asterisk/sounds/letters/b.gsm
Xshare/asterisk/sounds/letters/c.gsm
Xshare/asterisk/sounds/letters/d.gsm
Xshare/asterisk/sounds/letters/dash.gsm
Xshare/asterisk/sounds/letters/dollar.gsm
Xshare/asterisk/sounds/letters/dot.gsm
Xshare/asterisk/sounds/letters/e.gsm
Xshare/asterisk/sounds/letters/equals.gsm
Xshare/asterisk/sounds/letters/exclaimation-point.gsm
Xshare/asterisk/sounds/letters/f.gsm
Xshare/asterisk/sounds/letters/g.gsm
Xshare/asterisk/sounds/letters/h.gsm
Xshare/asterisk/sounds/letters/i.gsm
Xshare/asterisk/sounds/letters/j.gsm
Xshare/asterisk/sounds/letters/k.gsm
Xshare/asterisk/sounds/letters/l.gsm
Xshare/asterisk/sounds/letters/m.gsm
Xshare/asterisk/sounds/letters/n.gsm
Xshare/asterisk/sounds/letters/o.gsm
Xshare/asterisk/sounds/letters/p.gsm
Xshare/asterisk/sounds/letters/plus.gsm
Xshare/asterisk/sounds/letters/q.gsm
Xshare/asterisk/sounds/letters/r.gsm
Xshare/asterisk/sounds/letters/s.gsm
Xshare/asterisk/sounds/letters/slash.gsm
Xshare/asterisk/sounds/letters/space.gsm
Xshare/asterisk/sounds/letters/t.gsm
Xshare/asterisk/sounds/letters/u.gsm
Xshare/asterisk/sounds/letters/v.gsm
Xshare/asterisk/sounds/letters/w.gsm
Xshare/asterisk/sounds/letters/x.gsm
Xshare/asterisk/sounds/letters/y.gsm
Xshare/asterisk/sounds/letters/z.gsm
Xshare/asterisk/sounds/letters/zed.gsm
Xshare/asterisk/sounds/minutes.gsm
Xshare/asterisk/sounds/pbx-invalid.gsm
Xshare/asterisk/sounds/pbx-invalidpark.gsm
Xshare/asterisk/sounds/pbx-transfer.gsm
Xshare/asterisk/sounds/phonetic/9_p.gsm
Xshare/asterisk/sounds/phonetic/a_p.gsm
Xshare/asterisk/sounds/phonetic/b_p.gsm
Xshare/asterisk/sounds/phonetic/c_p.gsm
Xshare/asterisk/sounds/phonetic/d_p.gsm
Xshare/asterisk/sounds/phonetic/e_p.gsm
Xshare/asterisk/sounds/phonetic/f_p.gsm
Xshare/asterisk/sounds/phonetic/g_p.gsm
Xshare/asterisk/sounds/phonetic/h_p.gsm
Xshare/asterisk/sounds/phonetic/i_p.gsm
Xshare/asterisk/sounds/phonetic/j_p.gsm
Xshare/asterisk/sounds/phonetic/k_p.gsm
Xshare/asterisk/sounds/phonetic/l_p.gsm
Xshare/asterisk/sounds/phonetic/m_p.gsm
Xshare/asterisk/sounds/phonetic/n_p.gsm
Xshare/asterisk/sounds/phonetic/o_p.gsm
Xshare/asterisk/sounds/phonetic/p_p.gsm
Xshare/asterisk/sounds/phonetic/q_p.gsm
Xshare/asterisk/sounds/phonetic/r_p.gsm
Xshare/asterisk/sounds/phonetic/s_p.gsm
Xshare/asterisk/sounds/phonetic/t_p.gsm
Xshare/asterisk/sounds/phonetic/u_p.gsm
Xshare/asterisk/sounds/phonetic/v_p.gsm
Xshare/asterisk/sounds/phonetic/w_p.gsm
Xshare/asterisk/sounds/phonetic/x_p.gsm
Xshare/asterisk/sounds/phonetic/y_p.gsm
Xshare/asterisk/sounds/phonetic/z_p.gsm
Xshare/asterisk/sounds/priv-callee-options.gsm
Xshare/asterisk/sounds/priv-callpending.gsm
Xshare/asterisk/sounds/priv-introsaved.gsm
Xshare/asterisk/sounds/priv-recordintro.gsm
Xshare/asterisk/sounds/privacy-incorrect.gsm
Xshare/asterisk/sounds/privacy-prompt.gsm
Xshare/asterisk/sounds/privacy-thankyou.gsm
Xshare/asterisk/sounds/privacy-unident.gsm
Xshare/asterisk/sounds/queue-callswaiting.gsm
Xshare/asterisk/sounds/queue-holdtime.gsm
Xshare/asterisk/sounds/queue-less-than.gsm
Xshare/asterisk/sounds/queue-minutes.gsm
Xshare/asterisk/sounds/queue-periodic-announce.gsm
Xshare/asterisk/sounds/queue-reporthold.gsm
Xshare/asterisk/sounds/queue-seconds.gsm
Xshare/asterisk/sounds/queue-thankyou.gsm
Xshare/asterisk/sounds/queue-thereare.gsm
Xshare/asterisk/sounds/queue-youarenext.gsm
Xshare/asterisk/sounds/screen-callee-options.gsm
Xshare/asterisk/sounds/seconds.gsm
Xshare/asterisk/sounds/silence/1.gsm
Xshare/asterisk/sounds/silence/10.gsm
Xshare/asterisk/sounds/silence/2.gsm
Xshare/asterisk/sounds/silence/3.gsm
Xshare/asterisk/sounds/silence/4.gsm
Xshare/asterisk/sounds/silence/5.gsm
Xshare/asterisk/sounds/silence/6.gsm
Xshare/asterisk/sounds/silence/7.gsm
Xshare/asterisk/sounds/silence/8.gsm
Xshare/asterisk/sounds/silence/9.gsm
Xshare/asterisk/sounds/spy-agent.gsm
Xshare/asterisk/sounds/spy-h323.gsm
Xshare/asterisk/sounds/spy-iax.gsm
Xshare/asterisk/sounds/spy-iax2.gsm
Xshare/asterisk/sounds/spy-mgcp.gsm
Xshare/asterisk/sounds/spy-sip.gsm
Xshare/asterisk/sounds/spy-skinny.gsm
Xshare/asterisk/sounds/spy-zap.gsm
Xshare/asterisk/sounds/ss-noservice.gsm
Xshare/asterisk/sounds/transfer.gsm
Xshare/asterisk/sounds/tt-allbusy.gsm
Xshare/asterisk/sounds/tt-monkeys.gsm
Xshare/asterisk/sounds/tt-monkeysintro.gsm
Xshare/asterisk/sounds/tt-somethingwrong.gsm
Xshare/asterisk/sounds/tt-weasels.gsm
Xshare/asterisk/sounds/vm-Cust1.gsm
Xshare/asterisk/sounds/vm-Cust2.gsm
Xshare/asterisk/sounds/vm-Cust3.gsm
Xshare/asterisk/sounds/vm-Cust4.gsm
Xshare/asterisk/sounds/vm-Cust5.gsm
Xshare/asterisk/sounds/vm-Family.gsm
Xshare/asterisk/sounds/vm-Friends.gsm
Xshare/asterisk/sounds/vm-INBOX.gsm
Xshare/asterisk/sounds/vm-Old.gsm
Xshare/asterisk/sounds/vm-Work.gsm
Xshare/asterisk/sounds/vm-advopts.gsm
Xshare/asterisk/sounds/vm-and.gsm
Xshare/asterisk/sounds/vm-calldiffnum.gsm
Xshare/asterisk/sounds/vm-changeto.gsm
Xshare/asterisk/sounds/vm-delete.gsm
Xshare/asterisk/sounds/vm-deleted.gsm
Xshare/asterisk/sounds/vm-dialout.gsm
Xshare/asterisk/sounds/vm-enter-num-to-call.gsm
Xshare/asterisk/sounds/vm-extension.gsm
Xshare/asterisk/sounds/vm-first.gsm
Xshare/asterisk/sounds/vm-for.gsm
Xshare/asterisk/sounds/vm-forward.gsm
Xshare/asterisk/sounds/vm-forwardoptions.gsm
Xshare/asterisk/sounds/vm-from-extension.gsm
Xshare/asterisk/sounds/vm-from-phonenumber.gsm
Xshare/asterisk/sounds/vm-from.gsm
Xshare/asterisk/sounds/vm-goodbye.gsm
Xshare/asterisk/sounds/vm-helpexit.gsm
Xshare/asterisk/sounds/vm-incorrect-mailbox.gsm
Xshare/asterisk/sounds/vm-incorrect.gsm
Xshare/asterisk/sounds/vm-instructions.gsm
Xshare/asterisk/sounds/vm-intro.gsm
Xshare/asterisk/sounds/vm-isonphone.gsm
Xshare/asterisk/sounds/vm-isunavail.gsm
Xshare/asterisk/sounds/vm-last.gsm
Xshare/asterisk/sounds/vm-leavemsg.gsm
Xshare/asterisk/sounds/vm-login.gsm
Xshare/asterisk/sounds/vm-mailboxfull.gsm
Xshare/asterisk/sounds/vm-message.gsm
Xshare/asterisk/sounds/vm-messages.gsm
Xshare/asterisk/sounds/vm-minutes.gsm
Xshare/asterisk/sounds/vm-mismatch.gsm
Xshare/asterisk/sounds/vm-msginstruct.gsm
Xshare/asterisk/sounds/vm-msgsaved.gsm
Xshare/asterisk/sounds/vm-newpassword.gsm
Xshare/asterisk/sounds/vm-newuser.gsm
Xshare/asterisk/sounds/vm-next.gsm
Xshare/asterisk/sounds/vm-no.gsm
Xshare/asterisk/sounds/vm-nobodyavail.gsm
Xshare/asterisk/sounds/vm-nobox.gsm
Xshare/asterisk/sounds/vm-nomore.gsm
Xshare/asterisk/sounds/vm-nonumber.gsm
Xshare/asterisk/sounds/vm-num-i-have.gsm
Xshare/asterisk/sounds/vm-onefor.gsm
Xshare/asterisk/sounds/vm-options.gsm
Xshare/asterisk/sounds/vm-opts.gsm
Xshare/asterisk/sounds/vm-passchanged.gsm
Xshare/asterisk/sounds/vm-password.gsm
Xshare/asterisk/sounds/vm-press.gsm
Xshare/asterisk/sounds/vm-prev.gsm
Xshare/asterisk/sounds/vm-reachoper.gsm
Xshare/asterisk/sounds/vm-rec-busy.gsm
Xshare/asterisk/sounds/vm-rec-name.gsm
Xshare/asterisk/sounds/vm-rec-temp.gsm
Xshare/asterisk/sounds/vm-rec-unv.gsm
Xshare/asterisk/sounds/vm-received.gsm
Xshare/asterisk/sounds/vm-reenterpassword.gsm
Xshare/asterisk/sounds/vm-repeat.gsm
Xshare/asterisk/sounds/vm-review.gsm
Xshare/asterisk/sounds/vm-saved.gsm
Xshare/asterisk/sounds/vm-savedto.gsm
Xshare/asterisk/sounds/vm-savefolder.gsm
Xshare/asterisk/sounds/vm-savemessage.gsm
Xshare/asterisk/sounds/vm-saveoper.gsm
Xshare/asterisk/sounds/vm-sorry.gsm
Xshare/asterisk/sounds/vm-star-cancel.gsm
Xshare/asterisk/sounds/vm-starmain.gsm
Xshare/asterisk/sounds/vm-tempgreetactive.gsm
Xshare/asterisk/sounds/vm-tempgreeting.gsm
Xshare/asterisk/sounds/vm-tempgreeting2.gsm
Xshare/asterisk/sounds/vm-tempremoved.gsm
Xshare/asterisk/sounds/vm-then-pound.gsm
Xshare/asterisk/sounds/vm-theperson.gsm
Xshare/asterisk/sounds/vm-tocallback.gsm
Xshare/asterisk/sounds/vm-tocallnum.gsm
Xshare/asterisk/sounds/vm-tocancel.gsm
Xshare/asterisk/sounds/vm-tocancelmsg.gsm
Xshare/asterisk/sounds/vm-toenternumber.gsm
Xshare/asterisk/sounds/vm-toforward.gsm
Xshare/asterisk/sounds/vm-tohearenv.gsm
Xshare/asterisk/sounds/vm-tomakecall.gsm
Xshare/asterisk/sounds/vm-tooshort.gsm
Xshare/asterisk/sounds/vm-toreply.gsm
Xshare/asterisk/sounds/vm-torerecord.gsm
Xshare/asterisk/sounds/vm-undelete.gsm
Xshare/asterisk/sounds/vm-undeleted.gsm
Xshare/asterisk/sounds/vm-unknown-caller.gsm
Xshare/asterisk/sounds/vm-whichbox.gsm
Xshare/asterisk/sounds/vm-youhave.gsm
Xshare/asterisk/sounds/x
Xshare/asterisk/static-http/ajamdemo.html
Xshare/asterisk/static-http/astman.css
Xshare/asterisk/static-http/astman.js
Xshare/asterisk/static-http/prototype.js
X%%WITH_ZAPTEL%%lib/asterisk/modules/app_flash.so
X%%WITH_ZAPTEL%%lib/asterisk/modules/app_meetme.so
X%%WITH_ZAPTEL%%lib/asterisk/modules/app_page.so
X%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapbarge.so
X%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapras.so
X%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapscan.so
X%%WITH_ODBC%%lib/asterisk/modules/cdr_odbc.so
X%%WITH_FREETDS%%lib/asterisk/modules/cdr_tds.so
X%%WITH_H323%%lib/asterisk/modules/chan_h323.so
X%%WITH_ZAPTEL%%lib/asterisk/modules/chan_zap.so
X%%WITH_ZAPTEL%%lib/asterisk/modules/codec_zap.so
X%%WITH_ODBC%%lib/asterisk/modules/res_config_odbc.so
X%%WITH_ODBC%%lib/asterisk/modules/res_odbc.so
X at dirrm share/asterisk/static-http
X at dirrm share/asterisk/sounds/silence
X at dirrm share/asterisk/sounds/phonetic
X at dirrm share/asterisk/sounds/letters
X at dirrm share/asterisk/sounds/fr
X at dirrm share/asterisk/sounds/followme
X at dirrm share/asterisk/sounds/es
X at dirrm share/asterisk/sounds/digits
X at dirrm share/asterisk/sounds/dictate
X at dirrm share/asterisk/sounds
X at dirrm share/asterisk/moh
X at dirrm share/asterisk/keys
X at dirrm share/asterisk/images
X at dirrm share/asterisk/firmware/iax
X at dirrm share/asterisk/firmware
X at dirrm share/asterisk/agi-bin
X at dirrm share/asterisk
X at dirrm lib/asterisk/modules
X at dirrm lib/asterisk
X at dirrm include/asterisk
X at dirrmtry etc/asterisk
X at cwd /var
Xspool/asterisk/voicemail/default/1234/busy.gsm
Xspool/asterisk/voicemail/default/1234/unavail.gsm
X at exec mkdir -p %D/log/asterisk/cdr-csv
X at exec mkdir -p %D/log/asterisk/cdr-custom
X at exec mkdir -p %D/spool/asterisk/voicemail/default/1234/INBOX
X at exec mkdir -p %D/spool/asterisk/dictate
X at exec mkdir -p %D/spool/asterisk/meetme
X at exec mkdir -p %D/spool/asterisk/monitor
X at exec mkdir -p %D/spool/asterisk/system
X at exec mkdir -p %D/spool/asterisk/tmp
X at dirrm spool/asterisk/dictate
X at dirrm spool/asterisk/meetme
X at dirrm spool/asterisk/monitor
X at dirrm spool/asterisk/system
X at dirrm spool/asterisk/voicemail/default/1234/INBOX
X at dirrm spool/asterisk/voicemail/default/1234
X at dirrm spool/asterisk/voicemail/default
X at dirrm spool/asterisk/voicemail
X at dirrm spool/asterisk/tmp
X at dirrm spool/asterisk
X at dirrm log/asterisk/cdr-csv
X at dirrm log/asterisk/cdr-custom
X at dirrm log/asterisk
END-of-./asterisk/pkg-plist
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list