[asterisk-commits] branch murf/bug_7253_trunk r37304 - in /team/murf/bug_7253_trunk: ./ agi/ app...

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Fri Jul 7 12:43:43 MST 2006


Author: murf
Date: Fri Jul  7 14:43:42 2006
New Revision: 37304

URL: http://svn.digium.com/view/asterisk?rev=37304&view=rev
Log:
Merged revisions 37222-37223,37225-37226,37255,37273-37291,37293-37303 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r37222 | kpfleming | 2006-07-06 15:04:28 -0600 (Thu, 06 Jul 2006) | 2 lines

move rules file to prepare for generic rules file

................
r37223 | mogorman | 2006-07-06 15:36:17 -0600 (Thu, 06 Jul 2006) | 4 lines

patch resolves issue with when to decide if its right time 
to native bridge, feature redirect was not being checked.
patch from bug #7296

................
r37225 | mogorman | 2006-07-06 15:42:09 -0600 (Thu, 06 Jul 2006) | 11 lines

Blocked revisions 37224 via svnmerge

........
r37224 | mogorman | 2006-07-06 16:41:23 -0500 (Thu, 06 Jul 2006) | 4 lines

patch resolves issue with when to decide if its right time 
to native bridge, feature redirect was not being checked.
patch from bug #7296

........

................
r37226 | mattf | 2006-07-06 15:51:51 -0600 (Thu, 06 Jul 2006) | 2 lines

Asterisk portion of the T309 patch. (#7271)

................
r37255 | murf | 2006-07-06 16:49:18 -0600 (Thu, 06 Jul 2006) | 16 lines

OK, here is everything I changed to fix 7474:

1. ael/ael.flex -- the "fix" is here. In short, I modified the
   pattern for the chars that break args, to exclude those chars that
   would normally break args if they are preceded by a backslash. I did
   this to 3 patterns where really, this kind of exclusion should be placed.

2. ael_lex.c is an updated output from lex.

3. the ael-test stuff -- instituted a regression test for this condition.
   as ael_ntest9. The "n" in the name means that instead of just getting
   the syntax/semantic errors and high-level output from aelparse, we
   also want the compilation results to be in the comparison file.
   (remove the -n option). 


................
r37273 | kpfleming | 2006-07-06 17:18:45 -0600 (Thu, 06 Jul 2006) | 2 lines

make the build output less noisy (optional, can be controlled by the NOISY_BUILD variable in the top-level Makefile)

................
r37274 | kpfleming | 2006-07-06 17:20:14 -0600 (Thu, 06 Jul 2006) | 3 lines

add missing file
ignore .oo files from C++ modules

................
r37275 | kpfleming | 2006-07-06 17:21:27 -0600 (Thu, 06 Jul 2006) | 2 lines

ignore muted if present

................
r37276 | russell | 2006-07-06 17:51:15 -0600 (Thu, 06 Jul 2006) | 2 lines

dirty hack of a fix to deal with the fact that chan_vpb changed to chan_vpb.cc

................
r37277 | kpfleming | 2006-07-06 18:48:40 -0600 (Thu, 06 Jul 2006) | 2 lines

various minor fixes

................
r37278 | kpfleming | 2006-07-06 20:20:04 -0600 (Thu, 06 Jul 2006) | 2 lines

actually do proper searching for c-client and output the results so app_voicemail can be built against it

................
r37279 | kpfleming | 2006-07-06 20:20:28 -0600 (Thu, 06 Jul 2006) | 2 lines

rename this file so it doesn't appear to be a module by itself

................
r37280 | kpfleming | 2006-07-06 20:33:24 -0600 (Thu, 06 Jul 2006) | 2 lines

small cleanup

................
r37281 | russell | 2006-07-06 20:58:53 -0600 (Thu, 06 Jul 2006) | 2 lines

spaces to tabs

................
r37282 | russell | 2006-07-06 23:29:31 -0600 (Thu, 06 Jul 2006) | 2 lines

sort entries in this file

................
r37283 | russell | 2006-07-06 23:32:28 -0600 (Thu, 06 Jul 2006) | 2 lines

sort lib info

................
r37284 | russell | 2006-07-06 23:51:29 -0600 (Thu, 06 Jul 2006) | 2 lines

avoid an error from configure by not doing a cat on a file that doesn't exist

................
r37285 | russell | 2006-07-07 00:44:40 -0600 (Fri, 07 Jul 2006) | 2 lines

resolve some pointer signedness warnings

................
r37286 | russell | 2006-07-07 00:55:48 -0600 (Fri, 07 Jul 2006) | 2 lines

fix various pointer signedness issues

................
r37287 | russell | 2006-07-07 00:57:02 -0600 (Fri, 07 Jul 2006) | 2 lines

fix a pointer signedness issue

................
r37288 | russell | 2006-07-07 00:58:16 -0600 (Fri, 07 Jul 2006) | 2 lines

remove the unused usecount function to eliminate a compiler warning

................
r37289 | russell | 2006-07-07 01:00:28 -0600 (Fri, 07 Jul 2006) | 2 lines

eliminate a pointer signedness warning

................
r37290 | russell | 2006-07-07 01:01:50 -0600 (Fri, 07 Jul 2006) | 2 lines

eliminate some pointer signedness warnings

................
r37291 | russell | 2006-07-07 01:03:42 -0600 (Fri, 07 Jul 2006) | 2 lines

eliminate some pointer signedness warnings

................
r37293 | russell | 2006-07-07 09:44:39 -0600 (Fri, 07 Jul 2006) | 2 lines

more pointer signedness cleanup

................
r37294 | russell | 2006-07-07 09:58:20 -0600 (Fri, 07 Jul 2006) | 2 lines

pointer signedness warnings cleanup

................
r37295 | russell | 2006-07-07 10:01:36 -0600 (Fri, 07 Jul 2006) | 2 lines

pointer signedness warnings cleanup

................
r37296 | russell | 2006-07-07 10:03:56 -0600 (Fri, 07 Jul 2006) | 2 lines

pointer signedness warnings elimination

................
r37297 | kpfleming | 2006-07-07 10:04:29 -0600 (Fri, 07 Jul 2006) | 2 lines

restore broken properties

................
r37298 | russell | 2006-07-07 10:07:17 -0600 (Fri, 07 Jul 2006) | 2 lines

eliminate warning about unused variable that occurs in some cases

................
r37299 | russell | 2006-07-07 10:11:39 -0600 (Fri, 07 Jul 2006) | 2 lines

pointer signedness warnings

................
r37300 | russell | 2006-07-07 10:14:23 -0600 (Fri, 07 Jul 2006) | 2 lines

pointer signedness warnings

................
r37301 | bweschke | 2006-07-07 10:16:41 -0600 (Fri, 07 Jul 2006) | 11 lines

Merged revisions 37212 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r37212 | bweschke | 2006-07-06 15:38:45 -0500 (Thu, 06 Jul 2006) | 3 lines

 Don't do wierd things on a callback agent that has attempted logoff while still on the phone.


........

................
r37302 | russell | 2006-07-07 10:20:28 -0600 (Fri, 07 Jul 2006) | 2 lines

pointer signedness warnings

................
r37303 | russell | 2006-07-07 10:22:32 -0600 (Fri, 07 Jul 2006) | 3 lines

remove the use of -Wno-pointer-sign. Asterisk now builds without any of these
warnings present on my machine.

................

Added:
    team/murf/bug_7253_trunk/Makefile.moddir_rules   (props changed)
      - copied unchanged from r37303, trunk/Makefile.moddir_rules
    team/murf/bug_7253_trunk/channels/chan_vpb.cc   (props changed)
      - copied unchanged from r37303, trunk/channels/chan_vpb.cc
    team/murf/bug_7253_trunk/pbx/ael/ael-test/ael-ntest9/
      - copied from r37303, trunk/pbx/ael/ael-test/ael-ntest9/
    team/murf/bug_7253_trunk/pbx/ael/ael-test/ael-ntest9/extensions.ael   (props changed)
      - copied unchanged from r37303, trunk/pbx/ael/ael-test/ael-ntest9/extensions.ael
    team/murf/bug_7253_trunk/pbx/ael/ael-test/ref.ael-ntest9   (props changed)
      - copied unchanged from r37303, trunk/pbx/ael/ael-test/ref.ael-ntest9
    team/murf/bug_7253_trunk/pbx/kdeconsole_main.cc   (props changed)
      - copied unchanged from r37303, trunk/pbx/kdeconsole_main.cc
Removed:
    team/murf/bug_7253_trunk/channels/chan_vpb.c
    team/murf/bug_7253_trunk/pbx/pbx_kdeconsole_main.cc
Modified:
    team/murf/bug_7253_trunk/   (props changed)
    team/murf/bug_7253_trunk/Makefile
    team/murf/bug_7253_trunk/Makefile.rules
    team/murf/bug_7253_trunk/agi/Makefile
    team/murf/bug_7253_trunk/apps/Makefile
    team/murf/bug_7253_trunk/apps/app_osplookup.c
    team/murf/bug_7253_trunk/apps/app_sms.c
    team/murf/bug_7253_trunk/apps/app_voicemail.c
    team/murf/bug_7253_trunk/build_tools/menuselect-deps.in
    team/murf/bug_7253_trunk/build_tools/prep_moduledeps
    team/murf/bug_7253_trunk/cdr/Makefile
    team/murf/bug_7253_trunk/channel.c
    team/murf/bug_7253_trunk/channels/   (props changed)
    team/murf/bug_7253_trunk/channels/Makefile
    team/murf/bug_7253_trunk/channels/chan_agent.c
    team/murf/bug_7253_trunk/channels/chan_iax2.c
    team/murf/bug_7253_trunk/channels/chan_sip.c
    team/murf/bug_7253_trunk/channels/chan_zap.c
    team/murf/bug_7253_trunk/channels/iax2-provision.c
    team/murf/bug_7253_trunk/codecs/Makefile
    team/murf/bug_7253_trunk/codecs/codec_gsm.c
    team/murf/bug_7253_trunk/codecs/codec_ilbc.c
    team/murf/bug_7253_trunk/codecs/codec_lpc10.c
    team/murf/bug_7253_trunk/codecs/gsm/Makefile
    team/murf/bug_7253_trunk/codecs/gsm/src/preprocess.c
    team/murf/bug_7253_trunk/codecs/ilbc/Makefile
    team/murf/bug_7253_trunk/codecs/lpc10/Makefile
    team/murf/bug_7253_trunk/configs/zapata.conf.sample
    team/murf/bug_7253_trunk/configure
    team/murf/bug_7253_trunk/configure.ac
    team/murf/bug_7253_trunk/db1-ast/Makefile
    team/murf/bug_7253_trunk/dns.c
    team/murf/bug_7253_trunk/enum.c
    team/murf/bug_7253_trunk/formats/Makefile
    team/murf/bug_7253_trunk/formats/format_wav_gsm.c
    team/murf/bug_7253_trunk/funcs/Makefile
    team/murf/bug_7253_trunk/http.c
    team/murf/bug_7253_trunk/include/asterisk/autoconfig.h.in
    team/murf/bug_7253_trunk/include/asterisk/dns.h
    team/murf/bug_7253_trunk/makeopts.in
    team/murf/bug_7253_trunk/pbx/Makefile
    team/murf/bug_7253_trunk/pbx/ael/ael-test/runtests
    team/murf/bug_7253_trunk/pbx/ael/ael.flex
    team/murf/bug_7253_trunk/pbx/ael/ael_lex.c
    team/murf/bug_7253_trunk/pbx/pbx_kdeconsole.cc
    team/murf/bug_7253_trunk/res/Makefile
    team/murf/bug_7253_trunk/res/res_config_pgsql.c
    team/murf/bug_7253_trunk/res/res_jabber.c
    team/murf/bug_7253_trunk/rtp.c
    team/murf/bug_7253_trunk/srv.c
    team/murf/bug_7253_trunk/utils/Makefile
    team/murf/bug_7253_trunk/utils/smsq.c

Propchange: team/murf/bug_7253_trunk/
------------------------------------------------------------------------------
    automerge = yowsa

Propchange: team/murf/bug_7253_trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.2-blocked' - no diff available.

Propchange: team/murf/bug_7253_trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.

Propchange: team/murf/bug_7253_trunk/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Jul  7 14:43:42 2006
@@ -21,3 +21,4 @@
 config.log
 makeopts.xml
 autom4te.cache
+muted

Propchange: team/murf/bug_7253_trunk/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri Jul  7 14:43:42 2006
@@ -1,1 +1,1 @@
-/trunk:1-37186
+/trunk:1-37303

Modified: team/murf/bug_7253_trunk/Makefile
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/Makefile?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/Makefile (original)
+++ team/murf/bug_7253_trunk/Makefile Fri Jul  7 14:43:42 2006
@@ -13,6 +13,9 @@
 
 .EXPORT_ALL_VARIABLES:
 
+#Uncomment this to see all build commands instead of 'quiet' output
+#NOISY_BUILD=yes
+
 # Create OPTIONS variable
 OPTIONS=
 
@@ -25,14 +28,14 @@
 #SUB_PROC=xscale # or maverick
 
 ifeq ($(CROSS_COMPILE),)
-  OSARCH=$(shell uname -s)
-  PROC?=$(shell uname -m)
+  OSARCH:=$(shell uname -s)
+  PROC?:=$(shell uname -m)
 else
   OSARCH=$(CROSS_ARCH)
   PROC=$(CROSS_PROC)
 endif
 
-PWD=$(shell pwd)
+ASTTOPDIR:=$(shell pwd)
 
 # Remember the MAKELEVEL at the top
 MAKETOPLEVEL?=$(MAKELEVEL)
@@ -218,9 +221,6 @@
   ASTCFLAGS+=-Werror -Wunused
 endif
 
-ifeq ($(shell gcc -v 2>&1 | grep 'gcc version' | cut -f3 -d' ' | cut -f1 -d.),4)
-ASTCFLAGS+=-Wno-pointer-sign
-endif
 ASTOBJ=-o asterisk
 
 ifeq ($(findstring BSD,$(OSARCH)),BSD)
@@ -366,6 +366,8 @@
   HAVEDOT=no
 endif
 
+include Makefile.rules
+
 _all: all
 	@echo " +--------- Asterisk Build Complete ---------+"  
 	@echo " + Asterisk has successfully been built, but +"  
@@ -484,16 +486,17 @@
 channel.o: CFLAGS+=$(ZAPTEL_INCLUDE)
 
 asterisk: include/asterisk/buildopts.h editline/libedit.a db1-ast/libdb1.a $(OBJS)
-	build_tools/make_build_h > include/asterisk/build.h.tmp
-	if cmp -s include/asterisk/build.h.tmp include/asterisk/build.h ; then echo ; else \
+	@build_tools/make_build_h > include/asterisk/build.h.tmp
+	@if cmp -s include/asterisk/build.h.tmp include/asterisk/build.h ; then echo ; else \
 		mv include/asterisk/build.h.tmp include/asterisk/build.h ; \
 	fi
-	rm -f include/asterisk/build.h.tmp
-	$(CC) -c -o buildinfo.o $(CFLAGS) buildinfo.c
-	$(CC) $(DEBUG) $(ASTOBJ) $(ASTLINK) $(OBJS) buildinfo.o $(LIBEDIT) db1-ast/libdb1.a $(LIBS)
+	@rm -f include/asterisk/build.h.tmp
+	@$(CC) -c -o buildinfo.o $(CFLAGS) buildinfo.c
+	@echo "   [LD] $(OBJS) buildinfo.o $(LIBEDIT) db1-ast/libdb1.1 $(LIBS) -> $@"
+	@$(CC) $(DEBUG) $(ASTOBJ) $(ASTLINK) $(OBJS) buildinfo.o $(LIBEDIT) db1-ast/libdb1.a $(LIBS)
 
 muted: muted.o
-	$(CC) $(AUDIO_LIBS) -o muted muted.o
+muted: LDFLAGS+=$(AUDIO_LIBS)
 
 $(SUBDIRS_CLEAN_DEPEND):
 	@$(MAKE) -C $(@:-clean-depend=) clean-depend
@@ -886,13 +889,13 @@
 	- at menuselect/menuselect $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) menuselect.makeopts && echo "menuselect changes saved!" || echo "menuselect changes NOT saved!"
 
 menuselect/menuselect: menuselect/menuselect.c menuselect/menuselect_curses.c menuselect/menuselect.h menuselect/linkedlists.h config.status mxml/libmxml.a
-	@CFLAGS="-include $(PWD)/include/asterisk/autoconfig.h -I$(PWD)/include" PARENTSRC="$(PWD)" $(MAKE) -C menuselect menuselect
+	@CFLAGS="-include $(ASTTOPDIR)/include/asterisk/autoconfig.h -I$(ASTTOPDIR)/include" PARENTSRC="$(ASTTOPDIR)" $(MAKE) -C menuselect menuselect
 
 mxml/libmxml.a:
 	@cd mxml && unset CFLAGS LIBS && test -f config.h || ./configure
 	$(MAKE) -C mxml libmxml.a
 
-makeopts.xml: $(foreach dir,$(MOD_SUBDIRS),$(dir)/*.c) build_tools/cflags.xml sounds/sounds.xml
+makeopts.xml: $(foreach dir,$(MOD_SUBDIRS),$(wildcard $(dir)/*.c) $(wildcard $(dir)/*.cc)) build_tools/cflags.xml sounds/sounds.xml
 	@echo "Generating list of available modules ..."
 	@build_tools/prep_moduledeps > $@
 

Propchange: team/murf/bug_7253_trunk/Makefile.moddir_rules
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: team/murf/bug_7253_trunk/Makefile.moddir_rules
------------------------------------------------------------------------------
    svn:keywords = Author Id Date Revision

Propchange: team/murf/bug_7253_trunk/Makefile.moddir_rules
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: team/murf/bug_7253_trunk/Makefile.rules
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/Makefile.rules?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/Makefile.rules (original)
+++ team/murf/bug_7253_trunk/Makefile.rules Fri Jul  7 14:43:42 2006
@@ -11,43 +11,123 @@
 # the GNU General Public License
 #
 
-define module_o_template
-$(1).o: $(1).c
-	$$(CC) -c -o $$@ $$< $$(CFLAGS) $$(MENUSELECT_OPTS_$(1):%=-D%) $(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_INCLUDE))
+ifeq ($(NOISY_BUILD),)
+
+define ast_make_o_c
+$(1): $(2)
+	@echo "   [CC] $$< -> $$@"
+	@$$(CC) -o $$@ -c $$< $$(CFLAGS)
 endef
 
-define module_so_template
-$(1).so: $(1).o
-	$$(CC) $$(SOLINK) -o $$@ $$^ $(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_LIB))
+define ast_make_oo_cc
+$(1): $(2)
+	@echo "   [CXX] $$< -> $$@"
+	@$$(CXX) -o $$@ -c $$< $$(CFLAGS)
 endef
 
-%.o: %.c
-	$(CC) -c -o $@ $< $(CFLAGS)
+define ast_make_c_y
+$(1): $(2)
+	@echo "   [BISON] $$< -> $$@"
+	@bison -o $$@ -d --name-prefix=ast_yy $$<
+endef
 
-$(foreach mod,$(SELECTED_MODS),$(eval $(call module_o_template,$(mod))))
+define ast_make_c_fl
+$(1): $(2)
+	@echo "   [FLEX] $$< -> $$@"
+	@flex -o $$@ --full $$<
+endef
 
-$(foreach mod,$(SELECTED_MODS),$(eval $(call module_so_template,$(mod))))
+define ast_make_so_o
+$(1): $(2)
+	@echo "   [LD] $$^ -> $$@"
+	@$$(CC) -o $$@ $$(SOLINK) $$^ $$(LDFLAGS)
+endef
 
-.PHONY: clean clean-depend depend uninstall _all
+define ast_make_so_oo
+$(1): $(2)
+	@echo "   [LDXX] $$^ -> $$@"
+	@$$(CXX) -o $$@ $$(SOLINK) $$^ $$(LDFLAGS)
+endef
 
-_all: $(SELECTED_MODS:%=%.so)
+define ast_make_a_o
+$(1): $(2)
+	@echo "   [AR] $$^ -> $$@"
+	@$$(AR) cr $$@ $$^
+	@$$(RANLIB) $$@
+endef
 
-clean-depend::
-	rm -f .depend
+define ast_make_final
+$(1): $(2)
+	@echo "   [LD] $$^ -> $$@"
+	@$$(CC) -o $$@ $$^ $$(LDFLAGS)
+endef
 
-clean:: clean-depend
-	rm -f *.so *.o
+define ast_make_final_host
+$(1): $(2)
+	@echo "   [LD] $$^ -> $$@"
+	@$$(HOST_CC) -o $$@ $$^ $$(CFLAGS) $$(LDFLAGS)
+endef
 
-install:: all
-	for x in $(SELECTED_MODS:%=%.so); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
+else
 
-uninstall::
+define ast_make_o_c
+$(1): $(2)
+	$$(CC) -o $$@ -c $$< $$(CFLAGS)
+endef
 
-ifneq ($(wildcard .depend),)
- include .depend
+define ast_make_oo_cc
+$(1): $(2)
+	$$(CXX) -o $$@ -c $$< $$(CFLAGS)
+endef
+
+define ast_make_c_y
+$(1): $(2)
+	bison -o $$@ -d --name-prefix=ast_yy $$<
+endef
+
+define ast_make_c_fl
+$(1): $(2)
+	flex -o $$@ --full $$<
+endef
+
+define ast_make_so_o
+$(1): $(2)
+	$$(CC) -o $$@ $$(SOLINK) $$^ $$(LDFLAGS)
+endef
+
+define ast_make_so_oo
+$(1): $(2)
+	$$(CXX) -o $$@ $$(SOLINK) $$^ $$(LDFLAGS)
+endef
+
+define ast_make_a_o
+$(1): $(2)
+	$$(AR) cr $$@ $$^
+	$$(RANLIB) $$@
+endef
+
+define ast_make_final
+$(1): $(2)
+	$$(CC) -o $$@ $$^ $$(LDFLAGS)
+endef
+
+define ast_make_final_host
+$(1): $(2)
+	$$(HOST_CC) -o $$@ $$^ $$(CFLAGS) $$(LDFLAGS)
+endef
+
 endif
 
-depend: .depend
+$(eval $(call ast_make_o_c,%.o,%.c))
 
-.depend:
-	../build_tools/mkdep $(CFLAGS) `ls *.c`
+$(eval $(call ast_make_oo_cc,%.oo,%.cc))
+
+$(eval $(call ast_make_so_o,%.so,%.o))
+
+$(eval $(call ast_make_so_oo,%.so,%.oo))
+
+$(eval $(call ast_make_final,%,%.o))
+
+$(eval $(call ast_make_c_y,%.c,%.y))
+
+$(eval $(call ast_make_c_fl,%.c,%.fl))

Modified: team/murf/bug_7253_trunk/agi/Makefile
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/agi/Makefile?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/agi/Makefile (original)
+++ team/murf/bug_7253_trunk/agi/Makefile Fri Jul  7 14:43:42 2006
@@ -15,12 +15,17 @@
 
 AGIS=agi-test.agi eagi-test eagi-sphinx-test jukebox.agi
 
-LIBS=
 ifeq ($(OSARCH),SunOS)
-  LIBS=-lsocket -lnsl ../strcompat.o
+  LDFLAGS+=-lsocket -lnsl ../strcompat.o
 endif
 
+include $(ASTTOPDIR)/Makefile.rules
+
 all: $(AGIS)
+
+eagi-test: eagi-test.o
+
+eagi-sphinx-test: eagi-sphinx-test.o
 
 install: all
 	mkdir -p $(DESTDIR)$(AGI_DIR)
@@ -29,20 +34,11 @@
 uninstall:
 	for x in $(AGIS); do rm -f $(DESTDIR)$(AGI_DIR)/$$x ; done
 
-eagi-test: eagi-test.o
-	$(CC) $(CFLAGS) -include ../include/autoconfig.h -o eagi-test eagi-test.o $(LIBS)
-
-eagi-sphinx-test: eagi-sphinx-test.o
-	$(CC) $(CFLAGS) -include ../include/autoconfig.h -o eagi-sphinx-test eagi-sphinx-test.o $(LIBS) 
-
 clean-depend:
 	rm -f .depend
 
 clean: clean-depend
 	rm -f *.so *.o look eagi-test eagi-sphinx-test
-
-%.so : %.o
-	$(CC) -shared -Xlinker -x -o $@ $<
 
 ifneq ($(wildcard .depend),)
 include .depend

Modified: team/murf/bug_7253_trunk/apps/Makefile
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/apps/Makefile?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/apps/Makefile (original)
+++ team/murf/bug_7253_trunk/apps/Makefile Fri Jul  7 14:43:42 2006
@@ -16,11 +16,19 @@
 
 SELECTED_MODS:=$(filter-out $(MENUSELECT_APPS),$(patsubst %.c,%,$(wildcard app_*.c)))
 
-MENUSELECT_DEPENDS_app_voicemail+=$(MENUSELECT_DEPENDS_ODBC_STORAGE) $(MENUSELECT_DEPENDS_EXTENDED_ODBC_STORAGE)
+ifneq ($(findstring ODBC_STORAGE,$(MENUSELECT_app_voicemail)),)
+MENUSELECT_DEPENDS_app_voicemail+=$(MENUSELECT_DEPENDS_ODBC_STORAGE)
+endif
+ifneq ($(findstring EXTENDED_ODBC_STORAGE,$(MENUSELECT_app_voicemail)),)
+MENUSELECT_DEPENDS_app_voicemail+=$(MENUSELECT_DEPENDS_EXTENDED_ODBC_STORAGE)
+endif
+ifneq ($(findstring IMAP_STORAGE,$(MENUSELECT_app_voicemail)),)
+MENUSELECT_DEPENDS_app_voicemail+=$(MENUSELECT_DEPENDS_IMAP_STORAGE)
+endif
 
 all: _all
 
-include ../Makefile.rules
+include $(ASTTOPDIR)/Makefile.moddir_rules
 
 ifeq (SunOS,$(shell uname))
 app_chanspy.so: app_chanspy.o

Modified: team/murf/bug_7253_trunk/apps/app_osplookup.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/apps/app_osplookup.c?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/apps/app_osplookup.c (original)
+++ team/murf/bug_7253_trunk/apps/app_osplookup.c Fri Jul  7 14:43:42 2006
@@ -125,7 +125,7 @@
 	char dest[OSP_NORSTR_SIZE];				/* Destination in called at IP format */
 	char calling[OSP_NORSTR_SIZE];				/* Calling number, may be translated */
 	char token[OSP_TOKSTR_SIZE];				/* Outbound OSP token */
-	int numresults;						/* Number of remain destinations */
+	unsigned int numresults;				/* Number of remain destinations */
 };
 
 /* OSP Module Global Variables */
@@ -254,14 +254,14 @@
 		v = v->next;
 	}
 
-	error = OSPPUtilLoadPEMPrivateKey(p->privatekey, &privatekey);
+	error = OSPPUtilLoadPEMPrivateKey((unsigned char *) p->privatekey, &privatekey);
 	if (error != OSPC_ERR_NO_ERROR) {
 		ast_log(LOG_WARNING, "OSP: Unable to load privatekey '%s', error '%d'\n", p->privatekey, error);
 		free(p);
 		return 0;
 	}
 
-	error = OSPPUtilLoadPEMCert(p->localcert, &localcert);
+	error = OSPPUtilLoadPEMCert((unsigned char *) p->localcert, &localcert);
 	if (error != OSPC_ERR_NO_ERROR) {
 		ast_log(LOG_WARNING, "OSP: Unable to load localcert '%s', error '%d'\n", p->localcert, error);
 		if (privatekey.PrivateKeyData) {
@@ -277,7 +277,7 @@
 		p->cacount++;
 	}
 	for (i = 0; i < p->cacount; i++) {
-		error = OSPPUtilLoadPEMCert(p->cacerts[i], &cacerts[i]);
+		error = OSPPUtilLoadPEMCert((unsigned char *) p->cacerts[i], &cacerts[i]);
 		if (error != OSPC_ERR_NO_ERROR) {
 			ast_log(LOG_WARNING, "OSP: Unable to load cacert '%s', error '%d'\n", p->cacerts[i], error);
 			for (j = 0; j < i; j++) {
@@ -412,7 +412,7 @@
 {
 	int res;
 	int tokenlen;
-	char tokenstr[OSP_TOKSTR_SIZE];
+	unsigned char tokenstr[OSP_TOKSTR_SIZE];
 	unsigned int authorised;
 	unsigned int dummy = 0;
 	int error;
@@ -424,7 +424,7 @@
 		calling ? calling : "", OSPC_E164, 
 		called, OSPC_E164, 
 		0, NULL,
-		tokenlen, tokenstr, 
+		tokenlen, (char *) tokenstr, 
 		&authorised, 
 		timelimit, 
 		&dummy, NULL, 
@@ -493,7 +493,7 @@
 	if (enabled == OSPE_OSP_FALSE) {
 		result->token[0] = '\0';
 	} else {
-		ast_base64encode(result->token, token, tokenlen, sizeof(result->token) - 1);
+		ast_base64encode(result->token, (const unsigned char *) token, tokenlen, sizeof(result->token) - 1);
 	}
 
 	if ((error = OSPPTransactionGetDestProtocol(result->outhandle, &protocol)) != OSPC_ERR_NO_ERROR) {
@@ -841,7 +841,6 @@
 	time_t alert = 0;
 	unsigned isPddInfoPresent = 0;
 	unsigned pdd = 0;
-	unsigned char* confId = "";
 	unsigned int dummy = 0;
 	int error;
 	
@@ -855,7 +854,7 @@
 	}
 
 	error = OSPPTransactionReportUsage(handle, difftime(end, connect), start, end, alert, connect, isPddInfoPresent, pdd,
-						release, confId, 0, 0, 0, 0, &dummy, NULL);
+						release, (unsigned char *) "", 0, 0, 0, 0, &dummy, NULL);
 	if (error == OSPC_ERR_NO_ERROR) {
 		ast_log(LOG_DEBUG, "OSP: Usage reported\n");
 		res = 1;

Modified: team/murf/bug_7253_trunk/apps/app_sms.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/apps/app_sms.c?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/apps/app_sms.c (original)
+++ team/murf/bug_7253_trunk/apps/app_sms.c Fri Jul  7 14:43:42 2006
@@ -693,7 +693,7 @@
 		}
 		while (fgets (line, sizeof (line), s))
 		{								 /* process line in file */
-			unsigned char *p;
+			char *p;
 			for (p = line; *p && *p != '\n' && *p != '\r'; p++);
 			*p = 0;					 /* strip eoln */
 			p = line;
@@ -713,7 +713,7 @@
 				{						 /* parse message (UTF-8) */
 					unsigned char o = 0;
 					while (*p && o < SMSLEN)
-						h->ud[o++] = utf8decode(&p);
+						h->ud[o++] = utf8decode((unsigned char **) &p);
 					h->udl = o;
 					if (*p)
 						ast_log (LOG_WARNING, "UD too long in %s\n", fn);

Modified: team/murf/bug_7253_trunk/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/apps/app_voicemail.c?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/apps/app_voicemail.c (original)
+++ team/murf/bug_7253_trunk/apps/app_voicemail.c Fri Jul  7 14:43:42 2006
@@ -54,6 +54,7 @@
 	</member>
 	<member name="IMAP_STORAGE" displayname="Storage of Voicemail using IMAP4">
 		<depend>imap_tk</depend>
+		<use>ssl</use>
 		<defaultenabled>no</defaultenabled>
 	</member>
 </category>

Modified: team/murf/bug_7253_trunk/build_tools/menuselect-deps.in
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/build_tools/menuselect-deps.in?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/build_tools/menuselect-deps.in (original)
+++ team/murf/bug_7253_trunk/build_tools/menuselect-deps.in Fri Jul  7 14:43:42 2006
@@ -1,31 +1,31 @@
 ASOUND=@PBX_ALSA@
 CURL=@PBX_CURL@
 FREETDS=@PBX_FREETDS@
+GSM=@PBX_GSM@
 GTK=@PBX_GTK@
 H323=@PBX_H323@
+IKSEMEL=@PBX_IKSEMEL@
+IMAP_TK=@PBX_IMAP_TK@
+IXJUSER=@PBX_IXJUSER@
 KDE=@PBX_KDE@
+NBS=@PBX_NBS@
+NETSNMP=@PBX_NETSNMP@
 NEWT=@PBX_NEWT@
+OGG=@PBX_OGG@
 OSPTK=@PBX_OSPTK@
+OSSAUDIO=@PBX_OSS@
+PGSQL=@PBX_PGSQL@
 POPT=@PBX_POPT@
 PRI=@PBX_PRI@
-SPEEX=@PBX_SPEEX@
-VORBIS=@PBX_VORBIS@
-NBS=@PBX_NBS@
-OGG=@PBX_OGG@
-OSSAUDIO=@PBX_OSS@
-PGSQL=@PBX_PGSQL@
 QT=@PBX_QT@
 RADIUS=@PBX_RADIUS@
+SPEEX=@PBX_SPEEX@
 SQLITE=@PBX_SQLITE@
 SSL=@PBX_OPENSSL@
+TONEZONE=@PBX_TONEZONE@
 UNIXODBC=@PBX_UNIXODBC@
+VORBIS=@PBX_VORBIS@
 VPBAPI=@PBX_VPB@
 WIN32=@OSISWIN32@
+ZAPTEL=@PBX_ZAPTEL@
 ZLIB=@PBX_ZLIB@
-TONEZONE=@PBX_TONEZONE@
-ZAPTEL=@PBX_ZAPTEL@
-GSM=@PBX_GSM@
-IKSEMEL=@PBX_IKSEMEL@
-IXJUSER=@PBX_IXJUSER@
-NETSNMP=@PBX_NETSNMP@
-IMAP_TK=@PBX_IMAP_TK@

Modified: team/murf/bug_7253_trunk/build_tools/prep_moduledeps
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/build_tools/prep_moduledeps?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/build_tools/prep_moduledeps (original)
+++ team/murf/bug_7253_trunk/build_tools/prep_moduledeps Fri Jul  7 14:43:42 2006
@@ -33,12 +33,16 @@
 	displayname=${4}
 
 	echo -e "\t<category name=\"MENUSELECT_${catsuffix}\" displayname=\"${displayname}\">"
-	for file in ${dir}/${prefix}*.c
+	for file in `ls ${dir}/${prefix}*.c ${dir}/${prefix}*.cc 2> /dev/null | sort`
 	do
+		if [ ! -f ${file} ]; then
+			continue
+		fi
 		fname=`basename ${file} .c`
+		fname=`basename ${fname} .cc`
 		get_description ${file}
 		desc=${TDESC}
-		echo -e "\t\t<member name=\"${fname}\" displayname=\"${desc}\" remove_on_change=\"${dir}/${fname}.o ${dir}/${fname}.so\">"
+		echo -e "\t\t<member name=\"${fname}\" displayname=\"${desc}\" remove_on_change=\"${dir}/${fname}.o ${dir}/${fname}.oo ${dir}/${fname}.so\">"
 		awk -f build_tools/get_moduleinfo ${file}
 		echo -e "\t\t</member>"
 	done

Modified: team/murf/bug_7253_trunk/cdr/Makefile
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/cdr/Makefile?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/cdr/Makefile (original)
+++ team/murf/bug_7253_trunk/cdr/Makefile Fri Jul  7 14:43:42 2006
@@ -18,4 +18,4 @@
 
 all: _all
 
-include ../Makefile.rules
+include $(ASTTOPDIR)/Makefile.moddir_rules

Modified: team/murf/bug_7253_trunk/channel.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/channel.c?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/channel.c (original)
+++ team/murf/bug_7253_trunk/channel.c Fri Jul  7 14:43:42 2006
@@ -3593,7 +3593,8 @@
 		    (config->timelimit == 0) &&
 		    (c0->tech->bridge == c1->tech->bridge) &&
 		    !nativefailed && !c0->monitor && !c1->monitor &&
-		    !c0->spies && !c1->spies) {
+		    !c0->spies && !c1->spies && !ast_test_flag(&(config->features_callee),AST_FEATURE_REDIRECT) &&
+		    !ast_test_flag(&(config->features_caller),AST_FEATURE_REDIRECT) ) {
 			/* Looks like they share a bridge method and nothing else is in the way */
 			ast_set_flag(c0, AST_FLAG_NBRIDGE);
 			ast_set_flag(c1, AST_FLAG_NBRIDGE);

Propchange: team/murf/bug_7253_trunk/channels/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Jul  7 14:43:42 2006
@@ -1,6 +1,7 @@
 .depend
 *.a
 *.so
+*.oo
 gentone
 busy.h
 ringtone.h

Modified: team/murf/bug_7253_trunk/channels/Makefile
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/channels/Makefile?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/channels/Makefile (original)
+++ team/murf/bug_7253_trunk/channels/Makefile Fri Jul  7 14:43:42 2006
@@ -14,7 +14,9 @@
   include ../menuselect.makedeps
 endif
 
-SELECTED_MODS:=$(filter-out $(MENUSELECT_CHANNELS),$(patsubst %.c,%,$(wildcard chan_*.c)))
+SELECTED_MODS:=$(filter-out $(MENUSELECT_CHANNELS),$(patsubst %.c,%,$(wildcard chan_*.c)) $(patsubst %.cc,%,$(wildcard chan_*.cc)))
+
+CC_MODS=chan_vpb
 
 ifeq ($(OSARCH),OpenBSD)
   PTLIB=-lpt_OpenBSD_x86_r
@@ -44,8 +46,6 @@
 
 ifeq ($(wildcard $(CROSS_COMPILE_TARGET)/usr/include/mISDNuser/mISDNlib.h),)
   SELECTED_MODS:=$(filter-out chan_misdn,$(SELECTED_MODS))
-else
-  CFLAGS+=-Imisdn 
 endif
 
 ifndef OPENH323DIR
@@ -56,25 +56,19 @@
   PWLIBDIR=$(HOME)/pwlib
 endif
 
-MENUSELECT_OPTS_chan_misdn+=CHAN_MISDN_VERSION=\"0.3.0\"
-
 all: _all
 
-include ../Makefile.rules
+include $(ASTTOPDIR)/Makefile.moddir_rules
 
 clean::
-	rm -f busy.h ringtone.h gentone gentone-ulaw
+	rm -f busy.h ringtone.h gentone
 
-ifneq ($(wildcard h323/Makefile.ast),)
-  include h323/Makefile.ast
+ifneq ($(wildcard $(PWD)/Makefile.ast),)
+  include $(PWD)/Makefile.ast
 endif
 
-ifneq ($(wildcard misdn/Makefile.ast),)
-  include misdn/Makefile.ast
-endif
-
-gentone gentone-ulaw: %: %.c
-	$(HOST_CC) -o $@ $< -lm
+$(eval $(call ast_make_final_host,gentone,gentone.c))
+gentone: LDFLAGS+=-lm
 
 busy.h: gentone
 	./gentone busy 480 620
@@ -82,20 +76,14 @@
 ringtone.h: gentone
 	./gentone ringtone 440 480
 
-chan_oss.o: chan_oss.c busy.h ringtone.h
+chan_oss.o: busy.h ringtone.h
 
 chan_iax2.so: iax2-parser.o iax2-provision.o
 
 chan_alsa.o: busy.h ringtone.h
 
-chan_vpb.o: chan_vpb.c
-	$(CXX) -c $(CFLAGS:-Werror=) -o $@ chan_vpb.c
-
-chan_vpb.so: chan_vpb.o
-	 $(CXX) $(SOLINK) -o $@ $< -lvpb -lpthread -lm -ldl
-
 ifeq ($(OSARCH),Linux)
-chan_h323.so: chan_h323.o h323/libchanh323.a h323/Makefile.ast
+chan_h323.so: chan_h323.o h323/libchanh323.a $(PWD)/Makefile.ast
 	$(CC) $(SOLINK) $(H323LDFLAGS) -o $@ $< h323/libchanh323.a $(H323LDLIBS) -lstdc++
 else
 chan_h323.so: chan_h323.o h323/libchanh323.a
@@ -105,5 +93,9 @@
 misdn/chan_misdn_lib.a:
 	make -C misdn
 
+chan_misdn.o: CFLAGS+=-Imisdn -DCHAN_MISDN_VERSION=\"0.3.0\"
+
+misdn_config.o: CFLAGS+=-Imisdn -DCHAN_MISDN_VERSION=\"0.3.0\"
+
 chan_misdn.so: chan_misdn.o misdn_config.o misdn/chan_misdn_lib.a
-	$(CC) $(SOLINK) -o $@ $^ -lisdnnet -lmISDN
+chan_misdn.so: LDFLAGS+=-lisdnnet -lmISDN

Modified: team/murf/bug_7253_trunk/channels/chan_agent.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/channels/chan_agent.c?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/channels/chan_agent.c (original)
+++ team/murf/bug_7253_trunk/channels/chan_agent.c Fri Jul  7 14:43:42 2006
@@ -771,14 +771,16 @@
 			ast_channel_lock(p->chan);
 			ast_softhangup(p->chan, AST_SOFTHANGUP_EXPLICIT);
 			ast_channel_unlock(p->chan);
-		} else {
+		} else if (p->loginstart) {
 			ast_channel_lock(p->chan);
 			ast_moh_start(p->chan, p->moh);
 			ast_channel_unlock(p->chan);
 		}
 	}
 	ast_mutex_unlock(&p->lock);
-	ast_device_state_changed("Agent/%s", p->agent);
+	/* Only register a device state change if the agent is still logged in */
+	if (p->loginstart)
+		ast_device_state_changed("Agent/%s", p->agent);
 
 	if (p->pending) {
 		AST_LIST_LOCK(&agents);

Modified: team/murf/bug_7253_trunk/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/channels/chan_iax2.c?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/channels/chan_iax2.c (original)
+++ team/murf/bug_7253_trunk/channels/chan_iax2.c Fri Jul  7 14:43:42 2006
@@ -170,7 +170,7 @@
 
 static int iaxdefaulttimeout = 5;		/* Default to wait no more than 5 seconds for a reply to come back */
 
-static int tos = 0;
+static unsigned int tos = 0;
 
 static int min_reg_expire;
 static int max_reg_expire;

Modified: team/murf/bug_7253_trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/channels/chan_sip.c?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/channels/chan_sip.c (original)
+++ team/murf/bug_7253_trunk/channels/chan_sip.c Fri Jul  7 14:43:42 2006
@@ -507,9 +507,9 @@
 static int global_allowsubscribe;	/*!< Flag for disabling ALL subscriptions, this is FALSE only if all peers are FALSE 
 					    the global setting is in globals_flags[1] */
 static int global_mwitime;		/*!< Time between MWI checks for peers */
-static int global_tos_sip;		/*!< IP type of service for SIP packets */
-static int global_tos_audio;		/*!< IP type of service for audio RTP packets */
-static int global_tos_video;		/*!< IP type of service for video RTP packets */
+static unsigned int global_tos_sip;		/*!< IP type of service for SIP packets */
+static unsigned int global_tos_audio;		/*!< IP type of service for audio RTP packets */
+static unsigned int global_tos_video;		/*!< IP type of service for video RTP packets */
 static int compactheaders;		/*!< send compact sip headers */
 static int recordhistory;		/*!< Record SIP history. Off by default */
 static int dumphistory;			/*!< Dump history to verbose before destroying SIP dialog */
@@ -15430,7 +15430,7 @@
 	int auto_sip_domains = FALSE;
 	struct sockaddr_in old_bindaddr = bindaddr;
 	int registry_count = 0, peer_count = 0, user_count = 0;
-	int temp_tos = 0;
+	unsigned int temp_tos = 0;
 	struct ast_flags debugflag = {0};
 
 	cfg = ast_config_load(config);

Propchange: team/murf/bug_7253_trunk/channels/chan_vpb.cc
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: team/murf/bug_7253_trunk/channels/chan_vpb.cc
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: team/murf/bug_7253_trunk/channels/chan_vpb.cc
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: team/murf/bug_7253_trunk/channels/chan_zap.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/channels/chan_zap.c?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/channels/chan_zap.c (original)
+++ team/murf/bug_7253_trunk/channels/chan_zap.c Fri Jul  7 14:43:42 2006
@@ -3637,20 +3637,23 @@
 			break;
 		case ZT_EVENT_ALARM:
 #ifdef HAVE_PRI
-			if (p->call) {
-				if (p->pri && p->pri->pri) {
-					if (!pri_grab(p, p->pri)) {
-						pri_hangup(p->pri->pri, p->call, -1);
-						pri_destroycall(p->pri->pri, p->call);
-						p->call = NULL;
-						pri_rel(p->pri);
+			if (!p->pri || !p->pri->pri || (pri_get_timer(p->pri->pri, PRI_TIMER_T309) < 0)) {
+				/* T309 is not enabled : hangup calls when alarm occurs */
+				if (p->call) {
+					if (p->pri && p->pri->pri) {
+						if (!pri_grab(p, p->pri)) {
+							pri_hangup(p->pri->pri, p->call, -1);
+							pri_destroycall(p->pri->pri, p->call);
+							p->call = NULL;
+							pri_rel(p->pri);
+						} else
+							ast_log(LOG_WARNING, "Failed to grab PRI!\n");
 					} else
-						ast_log(LOG_WARNING, "Failed to grab PRI!\n");
-				} else
-					ast_log(LOG_WARNING, "The PRI Call have not been destroyed\n");
-			}
-			if (p->owner)
-				p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+						ast_log(LOG_WARNING, "The PRI Call has not been destroyed\n");
+				}
+				if (p->owner)
+					p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
+			}
 			if (p->bearer)
 				p->bearer->inalarm = 1;
 			else
@@ -3662,7 +3665,13 @@
 								"Alarm: %s\r\n"
 								"Channel: %d\r\n",
 								alarm2str(res), p->channel);
-			/* fall through intentionally */
+#ifdef HAVE_LIBPRI
+			if (!p->pri || !p->pri->pri || pri_get_timer(p->pri->pri, PRI_TIMER_T309) < 0) {
+				/* fall through intentionally */
+			} else {
+				break;
+			}
+#endif
 		case ZT_EVENT_ONHOOK:
 			if (p->radio) {
 				p->subs[index].f.frametype = AST_FRAME_CONTROL;
@@ -8366,18 +8375,21 @@
 					for (i = 0; i < pri->numchans; i++) {
 						struct zt_pvt *p = pri->pvts[i];
 						if (p) {
-							if (p->call) {
-								if (p->pri && p->pri->pri) {
-									pri_hangup(p->pri->pri, p->call, -1);
-									pri_destroycall(p->pri->pri, p->call);
-									p->call = NULL;
-								} else
-									ast_log(LOG_WARNING, "The PRI Call have not been destroyed\n");
+							if (!p->pri || !p->pri->pri || pri_get_timer(p->pri->pri, PRI_TIMER_T309) < 0) {
+								/* T309 is not enabled : hangup calls when alarm occurs */
+								if (p->call) {
+									if (p->pri && p->pri->pri) {
+										pri_hangup(p->pri->pri, p->call, -1);
+										pri_destroycall(p->pri->pri, p->call);
+										p->call = NULL;
+									} else
+										ast_log(LOG_WARNING, "The PRI Call have not been destroyed\n");
+								}
+								if (p->realcall) {
+									pri_hangup_all(p->realcall, pri);
+								} else if (p->owner)
+									p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
 							}
-							if (p->realcall) {
-								pri_hangup_all(p->realcall, pri);
-							} else if (p->owner)
-								p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
 							p->inalarm = 1;
 						}
 					}
@@ -10218,12 +10230,11 @@
 
 	cfg = ast_config_load(config);
 
-	/* We *must* have a config file otherwise stop immediately */
+	/* Error if we have no config file */
 	if (!cfg) {
 		ast_log(LOG_ERROR, "Unable to load config %s\n", config);
 		return 0;
 	}
-	
 
 	/* It's a little silly to lock it, but we mind as well just to be sure */
 	ast_mutex_lock(&iflock);

Modified: team/murf/bug_7253_trunk/channels/iax2-provision.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug_7253_trunk/channels/iax2-provision.c?rev=37304&r1=37303&r2=37304&view=diff
==============================================================================
--- team/murf/bug_7253_trunk/channels/iax2-provision.c (original)
+++ team/murf/bug_7253_trunk/channels/iax2-provision.c Fri Jul  7 14:43:42 2006
@@ -71,7 +71,7 @@
 	unsigned int altserver;
 	unsigned int flags;
 	unsigned int format;

[... 2100 lines stripped ...]


More information about the asterisk-commits mailing list