[asterisk-commits] oej: branch oej/obproxy r165179 - in /team/oej/obproxy: ./ apps/ autoconf/ cd...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Dec 17 12:33:39 CST 2008
Author: oej
Date: Wed Dec 17 12:33:38 2008
New Revision: 165179
URL: http://svn.digium.com/view/asterisk?view=rev&rev=165179
Log:
Resetting conflict and resolving automerge... or something...
Added:
team/oej/obproxy/autoconf/
- copied from r164977, branches/1.4/autoconf/
team/oej/obproxy/autoconf/acx_pthread.m4
- copied unchanged from r164977, branches/1.4/autoconf/acx_pthread.m4
team/oej/obproxy/autoconf/ast_c_compile_check.m4
- copied unchanged from r164977, branches/1.4/autoconf/ast_c_compile_check.m4
team/oej/obproxy/autoconf/ast_c_define_check.m4
- copied unchanged from r164977, branches/1.4/autoconf/ast_c_define_check.m4
team/oej/obproxy/autoconf/ast_check_gnu_make.m4
- copied unchanged from r164977, branches/1.4/autoconf/ast_check_gnu_make.m4
team/oej/obproxy/autoconf/ast_check_openh323.m4
- copied unchanged from r164977, branches/1.4/autoconf/ast_check_openh323.m4
team/oej/obproxy/autoconf/ast_check_pwlib.m4
- copied unchanged from r164977, branches/1.4/autoconf/ast_check_pwlib.m4
team/oej/obproxy/autoconf/ast_ext_lib.m4
- copied unchanged from r164977, branches/1.4/autoconf/ast_ext_lib.m4
team/oej/obproxy/autoconf/ast_func_fork.m4
- copied unchanged from r164977, branches/1.4/autoconf/ast_func_fork.m4
team/oej/obproxy/autoconf/ast_gcc_attribute.m4
- copied unchanged from r164977, branches/1.4/autoconf/ast_gcc_attribute.m4
team/oej/obproxy/autoconf/ast_prog_egrep.m4
- copied unchanged from r164977, branches/1.4/autoconf/ast_prog_egrep.m4
team/oej/obproxy/autoconf/ast_prog_ld.m4
- copied unchanged from r164977, branches/1.4/autoconf/ast_prog_ld.m4
team/oej/obproxy/autoconf/ast_prog_ld_gnu.m4
- copied unchanged from r164977, branches/1.4/autoconf/ast_prog_ld_gnu.m4
team/oej/obproxy/autoconf/ast_prog_sed.m4
- copied unchanged from r164977, branches/1.4/autoconf/ast_prog_sed.m4
Modified:
team/oej/obproxy/ (props changed)
team/oej/obproxy/.cleancount
team/oej/obproxy/CHANGES
team/oej/obproxy/Makefile
team/oej/obproxy/Makefile.moddir_rules
team/oej/obproxy/Makefile.rules
team/oej/obproxy/README
team/oej/obproxy/apps/app_authenticate.c
team/oej/obproxy/apps/app_dial.c
team/oej/obproxy/apps/app_disa.c
team/oej/obproxy/apps/app_followme.c
team/oej/obproxy/apps/app_macro.c
team/oej/obproxy/apps/app_queue.c
team/oej/obproxy/apps/app_speech_utils.c
team/oej/obproxy/apps/app_voicemail.c
team/oej/obproxy/apps/app_waitforsilence.c
team/oej/obproxy/apps/app_while.c
team/oej/obproxy/cdr/cdr_odbc.c
team/oej/obproxy/channels/chan_sip.c
team/oej/obproxy/codecs/codec_dahdi.c
team/oej/obproxy/codecs/gsm/Makefile
team/oej/obproxy/codecs/gsm/src/ (props changed)
team/oej/obproxy/configs/agents.conf.sample
team/oej/obproxy/configs/features.conf.sample
team/oej/obproxy/configs/misdn.conf.sample
team/oej/obproxy/configs/sip.conf.sample
team/oej/obproxy/configs/voicemail.conf.sample
team/oej/obproxy/contrib/asterisk-ng-doxygen
team/oej/obproxy/contrib/scripts/realtime_pgsql.sql
team/oej/obproxy/contrib/scripts/vmail.cgi
team/oej/obproxy/doc/misdn.txt
team/oej/obproxy/doc/valgrind.txt
team/oej/obproxy/formats/format_gsm.c
team/oej/obproxy/formats/format_ogg_vorbis.c
team/oej/obproxy/formats/format_pcm.c
team/oej/obproxy/formats/format_wav.c
team/oej/obproxy/formats/format_wav_gsm.c
team/oej/obproxy/funcs/func_callerid.c
team/oej/obproxy/funcs/func_cdr.c
team/oej/obproxy/funcs/func_channel.c
team/oej/obproxy/funcs/func_curl.c
team/oej/obproxy/funcs/func_cut.c
team/oej/obproxy/funcs/func_enum.c
team/oej/obproxy/funcs/func_groupcount.c
team/oej/obproxy/funcs/func_math.c
team/oej/obproxy/funcs/func_odbc.c
team/oej/obproxy/funcs/func_strings.c
team/oej/obproxy/funcs/func_timeout.c
team/oej/obproxy/include/asterisk.h
team/oej/obproxy/include/asterisk/ael_structs.h
team/oej/obproxy/include/asterisk/astmm.h
team/oej/obproxy/include/asterisk/astobj2.h
team/oej/obproxy/include/asterisk/audiohook.h
team/oej/obproxy/include/asterisk/autoconfig.h.in
team/oej/obproxy/include/asterisk/channel.h
team/oej/obproxy/include/asterisk/cli.h
team/oej/obproxy/include/asterisk/dahdi_compat.h
team/oej/obproxy/include/asterisk/devicestate.h
team/oej/obproxy/include/asterisk/dundi.h
team/oej/obproxy/include/asterisk/features.h
team/oej/obproxy/include/asterisk/file.h
team/oej/obproxy/include/asterisk/frame.h
team/oej/obproxy/include/asterisk/linkedlists.h
team/oej/obproxy/include/asterisk/lock.h
team/oej/obproxy/include/asterisk/logger.h
team/oej/obproxy/include/asterisk/manager.h
team/oej/obproxy/include/asterisk/module.h
team/oej/obproxy/include/asterisk/pbx.h
team/oej/obproxy/include/asterisk/res_odbc.h
team/oej/obproxy/include/asterisk/stringfields.h
team/oej/obproxy/include/asterisk/strings.h
team/oej/obproxy/include/asterisk/threadstorage.h
team/oej/obproxy/include/asterisk/utils.h
team/oej/obproxy/include/jitterbuf.h
team/oej/obproxy/main/app.c
team/oej/obproxy/main/ast_expr2.c
team/oej/obproxy/main/ast_expr2.fl
team/oej/obproxy/main/ast_expr2.y
team/oej/obproxy/main/ast_expr2f.c
team/oej/obproxy/main/asterisk.c
team/oej/obproxy/main/astmm.c
team/oej/obproxy/main/astobj2.c
team/oej/obproxy/main/audiohook.c
team/oej/obproxy/main/autoservice.c
team/oej/obproxy/main/callerid.c
team/oej/obproxy/main/cdr.c
team/oej/obproxy/main/channel.c
team/oej/obproxy/main/cli.c
team/oej/obproxy/main/config.c
team/oej/obproxy/main/db1-ast/Makefile
team/oej/obproxy/main/db1-ast/btree/ (props changed)
team/oej/obproxy/main/db1-ast/db/ (props changed)
team/oej/obproxy/main/db1-ast/hash/ (props changed)
team/oej/obproxy/main/db1-ast/hash/hash_page.c
team/oej/obproxy/main/db1-ast/mpool/ (props changed)
team/oej/obproxy/main/db1-ast/recno/ (props changed)
team/oej/obproxy/main/dns.c
team/oej/obproxy/main/editline/read.c
team/oej/obproxy/main/enum.c
team/oej/obproxy/main/file.c
team/oej/obproxy/main/frame.c
team/oej/obproxy/main/http.c
team/oej/obproxy/main/jitterbuf.c
team/oej/obproxy/main/logger.c
team/oej/obproxy/main/manager.c
team/oej/obproxy/main/pbx.c
team/oej/obproxy/main/poll.c
team/oej/obproxy/main/rtp.c
team/oej/obproxy/main/sched.c
team/oej/obproxy/main/srv.c
team/oej/obproxy/main/stdtime/ (props changed)
team/oej/obproxy/main/stdtime/Makefile
team/oej/obproxy/main/stdtime/localtime.c
team/oej/obproxy/main/threadstorage.c
team/oej/obproxy/main/translate.c
team/oej/obproxy/main/utils.c
team/oej/obproxy/makeopts.in
team/oej/obproxy/res/Makefile
team/oej/obproxy/res/res_agi.c
team/oej/obproxy/res/res_crypto.c
team/oej/obproxy/res/res_features.c
team/oej/obproxy/res/res_indications.c
team/oej/obproxy/res/res_jabber.c
team/oej/obproxy/res/res_musiconhold.c
team/oej/obproxy/res/res_odbc.c
team/oej/obproxy/res/res_smdi.c
team/oej/obproxy/res/snmp/ (props changed)
team/oej/obproxy/sounds/Makefile
team/oej/obproxy/utils/Makefile
team/oej/obproxy/utils/ael_main.c
team/oej/obproxy/utils/astman.c
team/oej/obproxy/utils/check_expr.c
team/oej/obproxy/utils/frame.c
team/oej/obproxy/utils/muted.c
team/oej/obproxy/utils/smsq.c
team/oej/obproxy/utils/stereorize.c
team/oej/obproxy/utils/streamplayer.c
Propchange: team/oej/obproxy/
------------------------------------------------------------------------------
automerge = http://www.codename-pineapple.org/
Propchange: team/oej/obproxy/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.
Propchange: team/oej/obproxy/
------------------------------------------------------------------------------
--- reviewboard:url (added)
+++ reviewboard:url Wed Dec 17 12:33:38 2008
@@ -1,0 +1,1 @@
+http://reviewboard.digium.com
Propchange: team/oej/obproxy/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed Dec 17 12:33:38 2008
@@ -1,1 +1,1 @@
-/branches/1.4:1-137713
+/branches/1.4:1-165107
Modified: team/oej/obproxy/.cleancount
URL: http://svn.digium.com/view/asterisk/team/oej/obproxy/.cleancount?view=diff&rev=165179&r1=165178&r2=165179
==============================================================================
--- team/oej/obproxy/.cleancount (original)
+++ team/oej/obproxy/.cleancount Wed Dec 17 12:33:38 2008
@@ -1,1 +1,1 @@
-32
+33
Modified: team/oej/obproxy/CHANGES
URL: http://svn.digium.com/view/asterisk/team/oej/obproxy/CHANGES?view=diff&rev=165179&r1=165178&r2=165179
==============================================================================
--- team/oej/obproxy/CHANGES (original)
+++ team/oej/obproxy/CHANGES Wed Dec 17 12:33:38 2008
@@ -203,10 +203,11 @@
1. mohinterpret
2. mohsuggest
2. agents.conf
+ o multiplelogin variable added
o maxlogintries variable added
o autologoffunavail variable added
o endcall variable added
- o agentgoodbye variable added
+ o goodbye variable added
o createlink variable REMOVED
3. alsa.conf
o mohinterpret variable added
@@ -229,6 +230,7 @@
o atxfernoanswertimeout variable added
o parkcall variable added (one step parking)
o improved documentation for dynamic feature declarations!
+ o added parkedcallltransfers option to control builtin transfers with parking
9. iax.conf
o adsi variable added
o mohinterpret variable added
@@ -295,8 +297,15 @@
21. rtp.conf
o rtcpinterval varaible added
22. sip.conf
+ o allowguest variable can't be set to 'osp'
o allowoverlap variable added
o allowtransfer variable added
+ o limitonpeer variable added
+ o directrtpsetup variable added
+ o buggymwi variable added
+ o ospauth variable REMOVED
+ o notifyhold variable added
+ o autoframing variable added
o tos variable REMOVED
o tos_sip variable added
o tos_audio variable added
@@ -305,18 +314,22 @@
o t1min variable added
o musicclass variable REMOVED
o mohinterpret variable added
- o maxcallbitratesuggest variable added
+ o mohsuggest variable added
o allowsubscribe variable added
o videosupport variable added
o maxcallbitrate variable added
o g726nonstandard variable added
o dumphistory variable added
- o allowsubscribe variable added
o t38pt_udptl variable added
+ o t38pt_rtp variable added
+ o t38pt_tcp variable added
+ o rfc2833compensate variable added
+ o matchexterniplocally variable added
o canreinvite variable can also now be set to 'nonat'
o rtsavesysname variable added
o JitterBuffer support added
o t38pt_usertpsource variable added
+ o regcontext variable can contains multiple contexts separated by an '&'
23. skinny.conf
o port variable renamed to bindport
o JitterBuffer support added
Modified: team/oej/obproxy/Makefile
URL: http://svn.digium.com/view/asterisk/team/oej/obproxy/Makefile?view=diff&rev=165179&r1=165178&r2=165179
==============================================================================
--- team/oej/obproxy/Makefile (original)
+++ team/oej/obproxy/Makefile Wed Dec 17 12:33:38 2008
@@ -203,10 +203,15 @@
ASTCFLAGS+=-Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(DEBUG)
-ASTCFLAGS+=-include $(ASTTOPDIR)/include/asterisk/autoconfig.h
-
ifeq ($(AST_DEVMODE),yes)
- ASTCFLAGS+=-Werror -Wunused $(AST_DECLARATION_AFTER_STATEMENT)
+ ASTCFLAGS+=-Werror
+ ASTCFLAGS+=-Wunused
+ ASTCFLAGS+=$(AST_DECLARATION_AFTER_STATEMENT)
+ ASTCFLAGS+=$(AST_FORTIFY_SOURCE)
+# ASTCFLAGS+=-Wundef
+ ASTCFLAGS+=-Wformat -Wformat-security
+ ASTCFLAGS+=-Wmissing-format-attribute
+# ASTCFLAGS+=-Wformat=2
endif
ifneq ($(findstring BSD,$(OSARCH)),)
@@ -245,9 +250,6 @@
ifneq ($(wildcard .version),)
ASTERISKVERSIONNUM:=$(shell $(AWK) -F. '{printf "%01d%02d%02d", $$1, $$2, $$3}' .version)
- RPMVERSION:=$(shell sed 's/[-\/:]/_/g' .version)
-else
- RPMVERSION=unknown
endif
ifneq ($(wildcard .svn),)
@@ -274,7 +276,7 @@
SOLINK=-dynamic -bundle -undefined suppress -force_flat_namespace
else
# These are used for all but Darwin
- SOLINK=-shared -Xlinker -x
+ SOLINK=-shared
ifneq ($(findstring BSD,$(OSARCH)),)
LDFLAGS+=-L/usr/local/lib
endif
@@ -378,7 +380,9 @@
$(SUBDIRS_DIST_CLEAN):
@$(MAKE) --no-print-directory -C $(@:-dist-clean=) dist-clean
-clean: $(SUBDIRS_CLEAN)
+clean: $(SUBDIRS_CLEAN) _clean
+
+_clean:
rm -f defaults.h
rm -f include/asterisk/build.h
rm -f include/asterisk/version.h
@@ -387,7 +391,7 @@
dist-clean: distclean
-distclean: $(SUBDIRS_DIST_CLEAN) clean
+distclean: $(SUBDIRS_DIST_CLEAN) _clean
@$(MAKE) -C menuselect dist-clean
@$(MAKE) -C sounds dist-clean
rm -f menuselect.makeopts makeopts menuselect-tree menuselect.makedeps
@@ -583,7 +587,8 @@
echo "astrundir => $(ASTVARRUNDIR)" ; \
echo "astlogdir => $(ASTLOGDIR)" ; \
echo "" ; \
- echo ";[options]" ; \
+ echo "[options]" ; \
+ echo "languageprefix = yes ; Use the new sound prefix path syntax" ; \
echo ";verbose = 3" ; \
echo ";debug = 3" ; \
echo ";alwaysfork = yes ; same as -F at startup" ; \
@@ -597,7 +602,6 @@
echo ";nocolor = yes ; Disable console colors" ; \
echo ";dontwarn = yes ; Disable some warnings" ; \
echo ";dumpcore = yes ; Dump core on crash (same as -g at startup)" ; \
- echo ";languageprefix = yes ; Use the new sound prefix path syntax" ; \
echo ";internal_timing = yes" ; \
echo ";systemname = my_system_name ; prefix uniqueid with a system name for global uniqueness issues" ; \
echo ";maxcalls = 10 ; Maximum amount of calls allowed" ; \
@@ -649,20 +653,6 @@
@echo " + HTTP_DOCSDIR +"
@echo " + +"
@echo " +-------------------------------------------+"
-
-spec:
- sed "s/^Version:.*/Version: $(RPMVERSION)/g" redhat/asterisk.spec > asterisk.spec ; \
-
-rpm: __rpm
-
-__rpm: include/asterisk/version.h include/asterisk/buildopts.h spec
- rm -rf /tmp/asterisk ; \
- mkdir -p /tmp/asterisk/redhat/RPMS/i386 ; \
- $(MAKE) DESTDIR=/tmp/asterisk install ; \
- $(MAKE) DESTDIR=/tmp/asterisk samples ; \
- mkdir -p /tmp/asterisk/etc/rc.d/init.d ; \
- cp -f contrib/init.d/rc.redhat.asterisk /tmp/asterisk/etc/rc.d/init.d/asterisk ; \
- rpmbuild --rcfile /usr/lib/rpm/rpmrc:redhat/rpmrc -bb asterisk.spec
progdocs:
(cat contrib/asterisk-ng-doxygen; echo "HAVE_DOT=$(HAVEDOT)"; \
@@ -777,6 +767,6 @@
@cat sounds/sounds.xml >> $@
@echo "</menu>" >> $@
-.PHONY: menuselect main sounds clean dist-clean distclean all prereqs cleantest uninstall _uninstall uninstall-all dont-optimize $(SUBDIRS_INSTALL) $(SUBDIRS_DIST_CLEAN) $(SUBDIRS_CLEAN) $(SUBDIRS_UNINSTALL) $(SUBDIRS) $(MOD_SUBDIRS_EMBED_LDSCRIPT) $(MOD_SUBDIRS_EMBED_LDFLAGS) $(MOD_SUBDIRS_EMBED_LIBS) badshell menuselect.makeopts installdirs
+.PHONY: menuselect main sounds clean dist-clean distclean all prereqs cleantest uninstall _uninstall uninstall-all dont-optimize $(SUBDIRS_INSTALL) $(SUBDIRS_DIST_CLEAN) $(SUBDIRS_CLEAN) $(SUBDIRS_UNINSTALL) $(SUBDIRS) $(MOD_SUBDIRS_EMBED_LDSCRIPT) $(MOD_SUBDIRS_EMBED_LDFLAGS) $(MOD_SUBDIRS_EMBED_LIBS) badshell menuselect.makeopts installdirs _clean
FORCE:
Modified: team/oej/obproxy/Makefile.moddir_rules
URL: http://svn.digium.com/view/asterisk/team/oej/obproxy/Makefile.moddir_rules?view=diff&rev=165179&r1=165178&r2=165179
==============================================================================
--- team/oej/obproxy/Makefile.moddir_rules (original)
+++ team/oej/obproxy/Makefile.moddir_rules Wed Dec 17 12:33:38 2008
@@ -10,12 +10,6 @@
# This program is free software, distributed under the terms of
# the GNU General Public License
#
-
-ifneq ($(findstring MALLOC_DEBUG,$(MENUSELECT_CFLAGS)),)
- ifeq ($(findstring astmm.h,$(ASTCFLAGS)),)
- ASTCFLAGS+=-include $(ASTTOPDIR)/include/asterisk/astmm.h
- endif
-endif
ifeq ($(findstring LOADABLE_MODULES,$(MENUSELECT_CFLAGS)),)
ASTCFLAGS+=${GC_CFLAGS}
@@ -70,8 +64,8 @@
@for file in $(patsubst %,$(SUBDIR)/%,$(filter-out %.o,$^)); do echo "INPUT (../$${file})" >> $@; done
clean::
- rm -f *.so *.o *.oo *.s *.i
- rm -f .*.o.d .*.oo.d
+ rm -f *.so *.o *.oo *.s *.i *.ii
+ rm -f .*.d
rm -f modules.link
install:: all
Modified: team/oej/obproxy/Makefile.rules
URL: http://svn.digium.com/view/asterisk/team/oej/obproxy/Makefile.rules?view=diff&rev=165179&r1=165178&r2=165179
==============================================================================
--- team/oej/obproxy/Makefile.rules (original)
+++ team/oej/obproxy/Makefile.rules Wed Dec 17 12:33:38 2008
@@ -3,7 +3,7 @@
#
# Makefile rules
#
-# Copyright (C) 2006, Digium, Inc.
+# Copyright (C) 2006-2008, Digium, Inc.
#
# Kevin P. Fleming <kpfleming at digium.com>
#
@@ -19,44 +19,92 @@
.PHONY: dist-clean
+# If 'make' decides to create intermediate files to satisfy a build requirement
+# (like producing a .i from a .c), we want to keep them, so tell make to keep
+# all intermediate files
+.SECONDARY:
+
+# extra cflags to build dependencies. Recursively expanded.
+MAKE_DEPS=-MD -MT $@ -MF .$(subst /,_,$@).d -MP
+
ifeq ($(NOISY_BUILD),)
- ECHO_PREFIX=@
- CMD_PREFIX=@
+ ECHO_PREFIX=@
+ CMD_PREFIX=@
else
- ECHO_PREFIX=@\#
- CMD_PREFIX=
+ ECHO_PREFIX=@\#
+ CMD_PREFIX=
endif
+OPTIMIZE?=-O6
+
ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS)),)
-# More GSM codec optimization
-# Uncomment to enable MMXTM optimizations for x86 architecture CPU's
-# which support MMX instructions. This should be newer pentiums,
-# ppro's, etc, as well as the AMD K6 and K7.
-#K6OPT=-DK6OPT
+ # More GSM codec optimization
+ # Uncomment to enable MMXTM optimizations for x86 architecture CPU's
+ # which support MMX instructions. This should be newer pentiums,
+ # ppro's, etc, as well as the AMD K6 and K7.
+ #K6OPT=-DK6OPT
-OPTIMIZE?=-O6
-ASTCFLAGS+=$(OPTIMIZE)
+ ASTCFLAGS+=$(OPTIMIZE)
endif
-%.o: %.c
- $(ECHO_PREFIX) echo " [CC] $< -> $@"
- $(CMD_PREFIX) $(CC) -o $@ -c $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) -MD -MT $@ -MF .$(subst /,_,$@).d -MP
+# shortcuts for common combinations of flags; these must be recursively expanded so that
+# per-target settings will be applied
+CC_CFLAGS=$(PTHREAD_CFLAGS) $(ASTCFLAGS)
+CXX_CFLAGS=$(PTHREAD_CFLAGS) $(filter-out -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(AST_DECLARATION_AFTER_STATEMENT),$(ASTCFLAGS))
+CC_LDFLAGS_SO=$(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK)
+CXX_LDFLAGS_SO=$(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK)
+CC_LIBS=$(PTHREAD_LIBS) $(LIBS)
+CXX_LIBS=$(PTHREAD_LIBS) $(LIBS)
+
+# determine whether to double-compile so that the optimizer can report code path problems
+# this is only done when developer mode and DONT_OPTIMIZE are both enabled
+# in that case, we run the preprocessor to produce a .i or .ii file from the source
+# code, then compile once with optimizer enabled (and the output to /dev/null),
+# and if that doesn't fail then compile again with optimizer disabled
+ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS))$(AST_DEVMODE),DONT_OPTIMIZEyes)
+COMPILE_DOUBLE=yes
+endif
+
+%.o: %.s
+ $(ECHO_PREFIX) echo " [AS] $< -> $@"
+ifeq ($(COMPILE_DOUBLE),yes)
+ $(CMD_PREFIX) $(CC) -o /dev/null -c $< $(CC_CFLAGS) $(OPTIMIZE)
+endif
+ $(CMD_PREFIX) $(CC) -o $@ -c $< $(CC_CFLAGS)
%.o: %.i
$(ECHO_PREFIX) echo " [CCi] $< -> $@"
- $(CMD_PREFIX) $(CC) -o $@ -c $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) -MD -MT $@ -MF .$(subst /,_,$@).d -MP
+ifeq ($(COMPILE_DOUBLE),yes)
+ $(CMD_PREFIX) $(CC) -o /dev/null -c $< $(CC_CFLAGS) $(OPTIMIZE)
+endif
+ $(CMD_PREFIX) $(CC) -o $@ -c $< $(CC_CFLAGS)
+
+ifneq ($(COMPILE_DOUBLE),yes)
+%.o: %.c
+ $(ECHO_PREFIX) echo " [CC] $< -> $@"
+ $(CMD_PREFIX) $(CC) -o $@ -c $< $(CC_CFLAGS) $(MAKE_DEPS)
+endif
%.i: %.c
$(ECHO_PREFIX) echo " [CPP] $< -> $@"
- $(CMD_PREFIX) $(CC) -o $@ -E $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) -MD -MT $@ -MF .$(subst /,_,$@).d -MP
+ $(CMD_PREFIX) $(CC) -o $@ -E $< $(CC_CFLAGS) $(MAKE_DEPS)
-%.o: %.s
- $(ECHO_PREFIX) echo " [AS] $< -> $@"
- $(CMD_PREFIX) $(CC) -o $@ -c $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) -MD -MT $@ -MF .$(subst /,_,$@).d -MP
+%.oo: %.ii
+ $(ECHO_PREFIX) echo " [CXXi] $< -> $@"
+ifeq ($(COMPILE_DOUBLE),yes)
+ $(CMD_PREFIX) $(CXX) -o /dev/null -c $< $(CXX_CFLAGS) $(OPTIMIZE)
+endif
+ $(CMD_PREFIX) $(CXX) -o $@ -c $< $(CXX_CFLAGS)
+ifneq ($(COMPILE_DOUBLE),yes)
%.oo: %.cc
$(ECHO_PREFIX) echo " [CXX] $< -> $@"
- $(CMD_PREFIX) $(CXX) -o $@ -c $< $(PTHREAD_CFLAGS) $(filter-out -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(AST_DECLARATION_AFTER_STATEMENT),$(ASTCFLAGS)) -MD -MT $@ -MF .$(subst /,_,$@).d -MP
+ $(CMD_PREFIX) $(CXX) -o $@ -c $< $(CXX_CFLAGS) $(MAKE_DEPS)
+endif
+
+%.ii: %.cc
+ $(ECHO_PREFIX) echo " [CPP] $< -> $@"
+ $(CMD_PREFIX) $(CXX) -o $@ -E $< $(CXX_CFLAGS) $(MAKE_DEPS)
%.c: %.y
$(ECHO_PREFIX) echo " [BISON] $< -> $@"
@@ -68,14 +116,14 @@
%.so: %.o
$(ECHO_PREFIX) echo " [LD] $^ -> $@"
- $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK) $^ $(PTHREAD_LIBS) $(LIBS)
+ $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(CC_LDFLAGS_SO) $^ $(CC_LIBS)
%.so: %.oo
$(ECHO_PREFIX) echo " [LDXX] $^ -> $@"
- $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK) $^ $(PTHREAD_LIBS) $(LIBS)
+ $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(CXX_LDFLAGS_SO) $^ $(CXX_LIBS)
%: %.o
$(ECHO_PREFIX) echo " [LD] $^ -> $@"
- $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $^ $(PTHREAD_LIBS) $(LIBS)
+ $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $^ $(CXX_LIBS)
-dist-clean::
+dist-clean:: clean
Modified: team/oej/obproxy/README
URL: http://svn.digium.com/view/asterisk/team/oej/obproxy/README?view=diff&rev=165179&r1=165178&r2=165179
==============================================================================
--- team/oej/obproxy/README (original)
+++ team/oej/obproxy/README Wed Dec 17 12:33:38 2008
@@ -2,7 +2,7 @@
by Mark Spencer <markster at digium.com>
and the Asterisk.org developer community
-Copyright (C) 2001-2006 Digium, Inc.
+Copyright (C) 2001-2008 Digium, Inc.
and other copyright holders.
================================================================
Modified: team/oej/obproxy/apps/app_authenticate.c
URL: http://svn.digium.com/view/asterisk/team/oej/obproxy/apps/app_authenticate.c?view=diff&rev=165179&r1=165178&r2=165179
==============================================================================
--- team/oej/obproxy/apps/app_authenticate.c (original)
+++ team/oej/obproxy/apps/app_authenticate.c Wed Dec 17 12:33:38 2008
@@ -167,7 +167,9 @@
char *md5secret = NULL;
while (!feof(f)) {
- fgets(buf, sizeof(buf), f);
+ if (!fgets(buf, sizeof(buf), f)) {
+ continue;
+ }
if (!ast_strlen_zero(buf)) {
size_t len = strlen(buf);
if (buf[len - 1] == '\n')
Modified: team/oej/obproxy/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/oej/obproxy/apps/app_dial.c?view=diff&rev=165179&r1=165178&r2=165179
==============================================================================
--- team/oej/obproxy/apps/app_dial.c (original)
+++ team/oej/obproxy/apps/app_dial.c Wed Dec 17 12:33:38 2008
@@ -126,15 +126,19 @@
" Optionally, an extension, or extension and context may be specified. \n"
" Otherwise, the current extension is used. You cannot use any additional\n"
" action post answer options in conjunction with this option.\n"
-" h - Allow the called party to hang up by sending the '*' DTMF digit.\n"
-" H - Allow the calling party to hang up by hitting the '*' DTMF digit.\n"
+" h - Allow the called party to hang up by sending the '*' DTMF digit, or\n"
+" whatever sequence was defined in the featuremap section for\n"
+" 'disconnect' in features.conf\n"
+" H - Allow the calling party to hang up by hitting the '*' DTMF digit, or\n"
+" whatever sequence was defined in the featuremap section for\n"
+" 'disconnect' in features.conf\n"
" i - Asterisk will ignore any forwarding requests it may receive on this\n"
" dial attempt.\n"
" j - Jump to priority n+101 if all of the requested channels were busy.\n"
" k - Allow the called party to enable parking of the call by sending\n"
-" the DTMF sequence defined for call parking in features.conf.\n"
+" the DTMF sequence defined for call parking in the featuremap section of features.conf.\n"
" K - Allow the calling party to enable parking of the call by sending\n"
-" the DTMF sequence defined for call parking in features.conf.\n"
+" the DTMF sequence defined for call parking in the featuremap section of features.conf.\n"
" L(x[:y][:z]) - Limit the call to 'x' ms. Play a warning when 'y' ms are\n"
" left. Repeat the warning every 'z' ms. The following special\n"
" variables can be used with this option:\n"
@@ -195,13 +199,17 @@
" S(x) - Hang up the call after 'x' seconds *after* the called party has\n"
" answered the call.\n"
" t - Allow the called party to transfer the calling party by sending the\n"
-" DTMF sequence defined in features.conf.\n"
+" DTMF sequence defined in the blindxfer setting in the featuremap section\n"
+" of features.conf.\n"
" T - Allow the calling party to transfer the called party by sending the\n"
-" DTMF sequence defined in features.conf.\n"
+" DTMF sequence defined in the blindxfer setting in the featuremap section\n"
+" of features.conf.\n"
" w - Allow the called party to enable recording of the call by sending\n"
-" the DTMF sequence defined for one-touch recording in features.conf.\n"
+" the DTMF sequence defined in the automon setting in the featuremap section\n"
+" of features.conf.\n"
" W - Allow the calling party to enable recording of the call by sending\n"
-" the DTMF sequence defined for one-touch recording in features.conf.\n";
+" the DTMF sequence defined in the automon setting in the featuremap section\n"
+" of features.conf.\n";
/* RetryDial App by Anthony Minessale II <anthmct at yahoo.com> Jan/2005 */
static char *rapp = "RetryDial";
@@ -824,6 +832,35 @@
ast_set_flag(&(features->features_caller), AST_FEATURE_PARKCALL);
}
+static void end_bridge_callback (void *data)
+{
+ char buf[80];
+ time_t end;
+ struct ast_channel *chan = data;
+
+ if (!chan->cdr) {
+ return;
+ }
+
+ time(&end);
+
+ ast_channel_lock(chan);
+ if (chan->cdr->answer.tv_sec) {
+ snprintf(buf, sizeof(buf), "%ld", end - chan->cdr->answer.tv_sec);
+ pbx_builtin_setvar_helper(chan, "ANSWEREDTIME", buf);
+ }
+
+ if (chan->cdr->start.tv_sec) {
+ snprintf(buf, sizeof(buf), "%ld", end - chan->cdr->start.tv_sec);
+ pbx_builtin_setvar_helper(chan, "DIALEDTIME", buf);
+ }
+ ast_channel_unlock(chan);
+}
+
+static void end_bridge_callback_data_fixup(struct ast_bridge_config *bconfig, struct ast_channel *originator, struct ast_channel *terminator) {
+ bconfig->end_bridge_callback_data = originator;
+}
+
static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags *peerflags, int *continue_exec)
{
int res = -1;
@@ -839,7 +876,7 @@
char numsubst[256];
char cidname[AST_MAX_EXTENSION] = "";
int privdb_val = 0;
- unsigned int calldurationlimit = 0;
+ int calldurationlimit = -1;
long timelimit = 0;
long play_warning = 0;
long warning_freq = 0;
@@ -877,6 +914,13 @@
return -1;
}
+ /* Reset all DIAL variables back to blank, to prevent confusion (in case we don't reset all of them). */
+ pbx_builtin_setvar_helper(chan, "DIALSTATUS", "");
+ pbx_builtin_setvar_helper(chan, "DIALEDPEERNUMBER", "");
+ pbx_builtin_setvar_helper(chan, "DIALEDPEERNAME", "");
+ pbx_builtin_setvar_helper(chan, "ANSWEREDTIME", "");
+ pbx_builtin_setvar_helper(chan, "DIALEDTIME", "");
+
u = ast_module_user_add(chan);
parse = ast_strdupa(data);
@@ -973,7 +1017,7 @@
start_sound = S_OR(var, NULL); /* XXX not much of a point in doing this! */
/* undo effect of S(x) in case they are both used */
- calldurationlimit = 0;
+ calldurationlimit = -1;
/* more efficient to do it like S(x) does since no advanced opts */
if (!play_warning && !start_sound && !end_sound && timelimit) {
calldurationlimit = timelimit / 1000;
@@ -1339,6 +1383,9 @@
ast_log(LOG_DEBUG, "ast call on peer returned %d\n", res);
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Couldn't call %s\n", numsubst);
+ if (tmp->chan->hangupcause) {
+ chan->hangupcause = tmp->chan->hangupcause;
+ }
ast_hangup(tmp->chan);
tmp->chan = NULL;
free(tmp);
@@ -1419,9 +1466,9 @@
/* almost done, although the 'else' block is 400 lines */
} else {
const char *number;
- time_t end_time, answer_time = time(NULL);
strcpy(status, "ANSWER");
+ pbx_builtin_setvar_helper(chan, "DIALSTATUS", status);
/* Ah ha! Someone answered within the desired timeframe. Of course after this
we will always return with -1 so that it is hung up properly after the
conversation. */
@@ -1704,6 +1751,9 @@
if (!res) {
if (calldurationlimit > 0) {
peer->whentohangup = time(NULL) + calldurationlimit;
+ } else if (calldurationlimit != -1 && timelimit > 0) {
+ /* Not enough granularity to make it less, but we can't use the special value 0 */
+ peer->whentohangup = time(NULL) + 1;
}
if (!ast_strlen_zero(dtmfcalled)) {
if (option_verbose > 2)
@@ -1716,7 +1766,7 @@
res = ast_dtmf_stream(chan,peer,dtmfcalling,250);
}
}
-
+
if (!res) {
struct ast_bridge_config config;
@@ -1741,6 +1791,8 @@
ast_set_flag(&(config.features_callee), AST_FEATURE_PARKCALL);
if (ast_test_flag(peerflags, OPT_CALLER_PARK))
ast_set_flag(&(config.features_caller), AST_FEATURE_PARKCALL);
+ if (ast_test_flag(peerflags, OPT_GO_ON))
+ ast_set_flag(&(config.features_caller), AST_FEATURE_NO_H_EXTEN);
config.timelimit = timelimit;
config.play_warning = play_warning;
@@ -1748,6 +1800,9 @@
config.warning_sound = warning_sound;
config.end_sound = end_sound;
config.start_sound = start_sound;
+ config.end_bridge_callback = end_bridge_callback;
+ config.end_bridge_callback_data = chan;
+ config.end_bridge_callback_data_fixup = end_bridge_callback_data_fixup;
if (moh) {
moh = 0;
ast_moh_stop(chan);
@@ -1778,46 +1833,39 @@
AST_OPTION_OPRMODE,&oprmode,sizeof(struct oprmode),0);
}
res = ast_bridge_call(chan,peer,&config);
- time(&end_time);
- {
- char toast[80];
- snprintf(toast, sizeof(toast), "%ld", (long)(end_time - answer_time));
- pbx_builtin_setvar_helper(chan, "ANSWEREDTIME", toast);
- }
} else {
- time(&end_time);
res = -1;
}
- {
- char toast[80];
- snprintf(toast, sizeof(toast), "%ld", (long)(end_time - start_time));
- pbx_builtin_setvar_helper(chan, "DIALEDTIME", toast);
- }
-
- if (res != AST_PBX_NO_HANGUP_PEER) {
- if (!chan->_softhangup)
+
+ if (res != AST_PBX_NO_HANGUP_PEER && res != AST_PBX_NO_HANGUP_PEER_PARKED) {
+ if (res != AST_PBX_KEEPALIVE && !chan->_softhangup)
chan->hangupcause = peer->hangupcause;
ast_hangup(peer);
}
}
out:
- if (moh) {
- moh = 0;
- ast_moh_stop(chan);
- } else if (sentringing) {
- sentringing = 0;
- ast_indicate(chan, -1);
- }
- ast_rtp_early_bridge(chan, NULL);
- hanguptree(outgoing, NULL);
- pbx_builtin_setvar_helper(chan, "DIALSTATUS", status);
- if (option_debug)
- ast_log(LOG_DEBUG, "Exiting with DIALSTATUS=%s.\n", status);
-
- if ((ast_test_flag(peerflags, OPT_GO_ON)) && (!chan->_softhangup) && (res != AST_PBX_KEEPALIVE)) {
- if (calldurationlimit)
- chan->whentohangup = 0;
- res = 0;
+ /* cleaning up chan is not a good idea here if AST_PBX_KEEPALIVE
+ is returned; chan will get the love it needs from another
+ thread */
+ if (res != AST_PBX_KEEPALIVE) {
+ if (moh) {
+ moh = 0;
+ ast_moh_stop(chan);
+ } else if (sentringing) {
+ sentringing = 0;
+ ast_indicate(chan, -1);
+ }
+ ast_rtp_early_bridge(chan, NULL);
+ hanguptree(outgoing, NULL);
+ pbx_builtin_setvar_helper(chan, "DIALSTATUS", status);
+ if (option_debug)
+ ast_log(LOG_DEBUG, "Exiting with DIALSTATUS=%s.\n", status);
+
+ if ((ast_test_flag(peerflags, OPT_GO_ON)) && (!chan->_softhangup) && (res != AST_PBX_KEEPALIVE)) {
+ if (timelimit)
+ chan->whentohangup = 0;
+ res = 0;
+ }
}
done:
Modified: team/oej/obproxy/apps/app_disa.c
URL: http://svn.digium.com/view/asterisk/team/oej/obproxy/apps/app_disa.c?view=diff&rev=165179&r1=165178&r2=165179
==============================================================================
--- team/oej/obproxy/apps/app_disa.c (original)
+++ team/oej/obproxy/apps/app_disa.c Wed Dec 17 12:33:38 2008
@@ -298,8 +298,14 @@
continue;
}
} else {
- if (j == '#') { /* end of extension */
- break;
+ if (j == '#') { /* end of extension .. maybe */
+ if (i == 0 &&
+ (ast_matchmore_extension(chan, args.context, "#", 1, chan->cid.cid_num) ||
+ ast_exists_extension(chan, args.context, "#", 1, chan->cid.cid_num)) ) {
+ /* Let the # be the part of, or the entire extension */
+ } else {
+ break;
+ }
}
}
Modified: team/oej/obproxy/apps/app_followme.c
URL: http://svn.digium.com/view/asterisk/team/oej/obproxy/apps/app_followme.c?view=diff&rev=165179&r1=165178&r2=165179
==============================================================================
--- team/oej/obproxy/apps/app_followme.c (original)
+++ team/oej/obproxy/apps/app_followme.c Wed Dec 17 12:33:38 2008
@@ -152,7 +152,6 @@
});
static int ynlongest = 0;
-static time_t start_time, answer_time, end_time;
static const char *featuredigittostr;
static int featuredigittimeout = 5000; /*!< Feature Digit Timeout */
@@ -805,7 +804,6 @@
if (option_debug > 1)
ast_log(LOG_DEBUG, "Number %s timeout %ld\n", nm->number,nm->timeout);
- time(&start_time);
number = ast_strdupa(nm->number);
if (option_debug > 2)
@@ -916,6 +914,32 @@
}
+static void end_bridge_callback (void *data)
+{
+ char buf[80];
+ time_t end;
+ struct ast_channel *chan = data;
+
+ time(&end);
+
+ ast_channel_lock(chan);
+ if (chan->cdr->answer.tv_sec) {
+ snprintf(buf, sizeof(buf), "%ld", end - chan->cdr->answer.tv_sec);
+ pbx_builtin_setvar_helper(chan, "ANSWEREDTIME", buf);
+ }
+
+ if (chan->cdr->start.tv_sec) {
+ snprintf(buf, sizeof(buf), "%ld", end - chan->cdr->start.tv_sec);
+ pbx_builtin_setvar_helper(chan, "DIALEDTIME", buf);
+ }
+ ast_channel_unlock(chan);
+}
+
+static void end_bridge_callback_data_fixup(struct ast_bridge_config *bconfig, struct ast_channel *originator, struct ast_channel *terminator)
+{
+ bconfig->end_bridge_callback_data = originator;
+}
+
static int app_exec(struct ast_channel *chan, void *data)
{
struct fm_args targs;
@@ -930,7 +954,6 @@
int duration = 0;
struct ast_channel *caller;
struct ast_channel *outbound;
- static char toast[80];
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(followmeid);
@@ -1036,7 +1059,11 @@
ast_set_flag(&(config.features_callee), AST_FEATURE_REDIRECT);
ast_set_flag(&(config.features_callee), AST_FEATURE_AUTOMON);
ast_set_flag(&(config.features_caller), AST_FEATURE_AUTOMON);
-
+
+ config.end_bridge_callback = end_bridge_callback;
+ config.end_bridge_callback_data = chan;
+ config.end_bridge_callback_data_fixup = end_bridge_callback_data_fixup;
+
ast_moh_stop(caller);
/* Be sure no generators are left on it */
ast_deactivate_generator(caller);
@@ -1047,13 +1074,7 @@
ast_hangup(outbound);
goto outrun;
}
- time(&answer_time);
res = ast_bridge_call(caller,outbound,&config);
- time(&end_time);
- snprintf(toast, sizeof(toast), "%ld", (long)(end_time - start_time));
- pbx_builtin_setvar_helper(caller, "DIALEDTIME", toast);
- snprintf(toast, sizeof(toast), "%ld", (long)(end_time - answer_time));
- pbx_builtin_setvar_helper(caller, "ANSWEREDTIME", toast);
if (outbound)
ast_hangup(outbound);
}
Modified: team/oej/obproxy/apps/app_macro.c
URL: http://svn.digium.com/view/asterisk/team/oej/obproxy/apps/app_macro.c?view=diff&rev=165179&r1=165178&r2=165179
==============================================================================
--- team/oej/obproxy/apps/app_macro.c (original)
+++ team/oej/obproxy/apps/app_macro.c Wed Dec 17 12:33:38 2008
@@ -322,8 +322,8 @@
ast_log(LOG_DEBUG, "Spawn extension (%s,%s,%d) exited KEEPALIVE in macro %s on '%s'\n", chan->context, chan->exten, chan->priority, macro, chan->name);
else if (option_verbose > 1)
ast_verbose( VERBOSE_PREFIX_2 "Spawn extension (%s, %s, %d) exited KEEPALIVE in macro '%s' on '%s'\n", chan->context, chan->exten, chan->priority, macro, chan->name);
+ dead = 1;
goto out;
- break;
default:
if (option_debug)
ast_log(LOG_DEBUG, "Spawn extension (%s,%s,%d) exited non-zero on '%s' in macro '%s'\n", chan->context, chan->exten, chan->priority, chan->name, macro);
Modified: team/oej/obproxy/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/team/oej/obproxy/apps/app_queue.c?view=diff&rev=165179&r1=165178&r2=165179
==============================================================================
--- team/oej/obproxy/apps/app_queue.c (original)
+++ team/oej/obproxy/apps/app_queue.c Wed Dec 17 12:33:38 2008
@@ -156,19 +156,29 @@
"any of the join options cause the caller to not enter the queue.\n"
"The option string may contain zero or more of the following characters:\n"
" 'd' -- data-quality (modem) call (minimum delay).\n"
-" 'h' -- allow callee to hang up by hitting *.\n"
-" 'H' -- allow caller to hang up by hitting *.\n"
+" 'h' -- allow callee to hang up by hitting '*', or whatver disconnect sequence\n"
+" defined in the featuremap section in features.conf.\n"
+" 'H' -- allow caller to hang up by hitting '*', or whatever disconnect sequence\n"
+" defined in the featuremap section in features.conf.\n"
" 'n' -- no retries on the timeout; will exit this application and \n"
" go to the next step.\n"
[... 11265 lines stripped ...]
More information about the asterisk-commits
mailing list