[asterisk-commits] branch jcollie/vcard r37332 - in /team/jcollie/vcard: ./ agi/ apps/ build_too...

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Mon Jul 10 06:20:16 MST 2006


Author: jcollie
Date: Mon Jul 10 08:20:15 2006
New Revision: 37332

URL: http://svn.digium.com/view/asterisk?rev=37332&view=rev
Log:
Merged revisions 37255,37273-37291,37293-37303,37308,37318,37320,37323-37324 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r37255 | murf | 2006-07-06 17:49:18 -0500 (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 18:18:45 -0500 (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 18:20:14 -0500 (Thu, 06 Jul 2006) | 3 lines

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

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

ignore muted if present

................
r37276 | russell | 2006-07-06 18:51:15 -0500 (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 19:48:40 -0500 (Thu, 06 Jul 2006) | 2 lines

various minor fixes

................
r37278 | kpfleming | 2006-07-06 21:20:04 -0500 (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 21:20:28 -0500 (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 21:33:24 -0500 (Thu, 06 Jul 2006) | 2 lines

small cleanup

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

spaces to tabs

................
r37282 | russell | 2006-07-07 00:29:31 -0500 (Fri, 07 Jul 2006) | 2 lines

sort entries in this file

................
r37283 | russell | 2006-07-07 00:32:28 -0500 (Fri, 07 Jul 2006) | 2 lines

sort lib info

................
r37284 | russell | 2006-07-07 00:51:29 -0500 (Fri, 07 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 01:44:40 -0500 (Fri, 07 Jul 2006) | 2 lines

resolve some pointer signedness warnings

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

fix various pointer signedness issues

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

fix a pointer signedness issue

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

remove the unused usecount function to eliminate a compiler warning

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

eliminate a pointer signedness warning

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

eliminate some pointer signedness warnings

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

eliminate some pointer signedness warnings

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

more pointer signedness cleanup

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

pointer signedness warnings cleanup

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

pointer signedness warnings cleanup

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

pointer signedness warnings elimination

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

restore broken properties

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

eliminate warning about unused variable that occurs in some cases

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

pointer signedness warnings

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

pointer signedness warnings

................
r37301 | bweschke | 2006-07-07 11:16:41 -0500 (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 11:20:28 -0500 (Fri, 07 Jul 2006) | 2 lines

pointer signedness warnings

................
r37303 | russell | 2006-07-07 11:22:32 -0500 (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.

................
r37308 | file | 2006-07-07 18:59:54 -0500 (Fri, 07 Jul 2006) | 10 lines

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

........
r37307 | file | 2006-07-07 19:57:53 -0400 (Fri, 07 Jul 2006) | 2 lines

Change message regarding marker bit forcing when SSRC changes to be shown only during debug so it doesn't overload high capacity systems

........

................
r37318 | markster | 2006-07-07 21:24:07 -0500 (Fri, 07 Jul 2006) | 3 lines

Support hold/unhold in Zap, update IAX2 parser to know about modern commands, forward hold/unhold in dial, add hold device state 
and implement holding in the SLA.

................
r37320 | kpfleming | 2006-07-09 09:32:08 -0500 (Sun, 09 Jul 2006) | 2 lines

remove skeleton support for G.723.1 codec since we will never ship the rest of what is needed anyway :-)

................
r37323 | crichter | 2006-07-10 06:06:47 -0500 (Mon, 10 Jul 2006) | 1 line

removed unnecessary locking, which might have created deadlocks. removed find_chan_by_l3id, since the l3id is not unique over all ports. removed automatic nt_stack reinitialization, since this creates segfaults.
................
r37324 | oej | 2006-07-10 06:20:49 -0500 (Mon, 10 Jul 2006) | 4 lines

Remove configuration option "restrictcid" that is nowhere to
be seen in the code. Did it exist, was it planned to exist
or was it documentationware only? Ask Dr Asterisk.

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

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

Propchange: team/jcollie/vcard/
------------------------------------------------------------------------------
    automerge = *

Propchange: team/jcollie/vcard/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.

Propchange: team/jcollie/vcard/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Jul 10 08:20:15 2006
@@ -21,3 +21,4 @@
 config.log
 makeopts.xml
 autom4te.cache
+muted

Propchange: team/jcollie/vcard/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Mon Jul 10 08:20:15 2006
@@ -1,1 +1,1 @@
-/trunk:1-37234
+/trunk:1-37331

Modified: team/jcollie/vcard/Makefile
URL: http://svn.digium.com/view/asterisk/team/jcollie/vcard/Makefile?rev=37332&r1=37331&r2=37332&view=diff
==============================================================================
--- team/jcollie/vcard/Makefile (original)
+++ team/jcollie/vcard/Makefile Mon Jul 10 08:20:15 2006
@@ -12,6 +12,9 @@
 #
 
 .EXPORT_ALL_VARIABLES:
+
+#Uncomment this to see all build commands instead of 'quiet' output
+#NOISY_BUILD=yes
 
 # Create OPTIONS variable
 OPTIONS=
@@ -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
@@ -893,7 +896,7 @@
 	@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 > $@
 

Modified: team/jcollie/vcard/Makefile.moddir_rules
URL: http://svn.digium.com/view/asterisk/team/jcollie/vcard/Makefile.moddir_rules?rev=37332&r1=37331&r2=37332&view=diff
==============================================================================
--- team/jcollie/vcard/Makefile.moddir_rules (original)
+++ team/jcollie/vcard/Makefile.moddir_rules Mon Jul 10 08:20:15 2006
@@ -11,22 +11,35 @@
 # the GNU General Public License
 #
 
-define module_o_template
+include $(ASTTOPDIR)/Makefile.rules
+
+define module_o_c_template
 $(1).o: $(1).c
-	$$(CC) -c -o $$@ $$< $$(CFLAGS) $$(MENUSELECT_OPTS_$(1):%=-D%) $(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_INCLUDE))
+$(1).o: CFLAGS+=$$(MENUSELECT_OPTS_$(1):%=-D%) $(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_INCLUDE))
 endef
 
-define module_so_template
-$(1).so: $(1).o
-	$$(CC) $$(SOLINK) -o $$@ $$^ $(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_LIB))
+define module_oo_cc_template
+$(1).oo: $(1).cc
+$(1).oo: CFLAGS+=$$(MENUSELECT_OPTS_$(1):%=-D%) $(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_INCLUDE))
 endef
 
-%.o: %.c
-	$(CC) -c -o $@ $< $(CFLAGS)
+define module_so_o_template
+$(1).so: $(1).o
+$(1).so: LDFLAGS+=$(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_LIB))
+endef
 
-$(foreach mod,$(SELECTED_MODS),$(eval $(call module_o_template,$(mod))))
+define module_so_oo_template
+$(1).so: $(1).oo
+$(1).so: LDFLAGS+=$(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_LIB))
+endef
 
-$(foreach mod,$(SELECTED_MODS),$(eval $(call module_so_template,$(mod))))
+$(foreach mod,$(filter-out $(CC_MODS),$(SELECTED_MODS)),$(eval $(call module_o_c_template,$(mod))))
+
+$(foreach mod,$(filter-out $(CC_MODS),$(SELECTED_MODS)),$(eval $(call module_so_o_template,$(mod))))
+
+$(foreach mod,$(filter $(CC_MODS),$(SELECTED_MODS)),$(eval $(call module_oo_cc_template,$(mod))))
+
+$(foreach mod,$(filter $(CC_MODS),$(SELECTED_MODS)),$(eval $(call module_so_oo_template,$(mod))))
 
 .PHONY: clean clean-depend depend uninstall _all
 
@@ -36,7 +49,7 @@
 	rm -f .depend
 
 clean:: clean-depend
-	rm -f *.so *.o
+	rm -f *.so *.o *.oo
 
 install:: all
 	for x in $(SELECTED_MODS:%=%.so); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done

Modified: team/jcollie/vcard/agi/Makefile
URL: http://svn.digium.com/view/asterisk/team/jcollie/vcard/agi/Makefile?rev=37332&r1=37331&r2=37332&view=diff
==============================================================================
--- team/jcollie/vcard/agi/Makefile (original)
+++ team/jcollie/vcard/agi/Makefile Mon Jul 10 08:20:15 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/jcollie/vcard/apps/Makefile
URL: http://svn.digium.com/view/asterisk/team/jcollie/vcard/apps/Makefile?rev=37332&r1=37331&r2=37332&view=diff
==============================================================================
--- team/jcollie/vcard/apps/Makefile (original)
+++ team/jcollie/vcard/apps/Makefile Mon Jul 10 08:20:15 2006
@@ -16,7 +16,15 @@
 
 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
 

Modified: team/jcollie/vcard/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/jcollie/vcard/apps/app_dial.c?rev=37332&r1=37331&r2=37332&view=diff
==============================================================================
--- team/jcollie/vcard/apps/app_dial.c (original)
+++ team/jcollie/vcard/apps/app_dial.c Mon Jul 10 08:20:15 2006
@@ -728,10 +728,13 @@
 				if (ast_write(outgoing->chan, f))
 					ast_log(LOG_WARNING, "Unable to forward voice\n");
 			}
-			if (single && (f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_VIDUPDATE)) {
+			if (single && (f->frametype == AST_FRAME_CONTROL) && 
+				((f->subclass == AST_CONTROL_HOLD) || 
+				 (f->subclass == AST_CONTROL_UNHOLD) || 
+				 (f->subclass == AST_CONTROL_VIDUPDATE))) {
 				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3 "%s requested a video update, passing it to %s\n", in->name,outgoing->chan->name);
-				ast_indicate(outgoing->chan, AST_CONTROL_VIDUPDATE);
+					ast_verbose(VERBOSE_PREFIX_3 "%s requested special control %d, passing it to %s\n", in->name, f->subclass, outgoing->chan->name);
+				ast_indicate_data(outgoing->chan, f->subclass, f->data, f->datalen);
 			}
 			ast_frfree(f);
 		}

Modified: team/jcollie/vcard/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/jcollie/vcard/apps/app_meetme.c?rev=37332&r1=37331&r2=37332&view=diff
==============================================================================
--- team/jcollie/vcard/apps/app_meetme.c (original)
+++ team/jcollie/vcard/apps/app_meetme.c Mon Jul 10 08:20:15 2006
@@ -145,11 +145,17 @@
 	/*! If set, won't speak the extra prompt when the first person 
 	 *  enters the conference */
 	CONFFLAG_NOONLYPERSON = (1 << 22),
-	CONFFLAG_INTROUSERNOREVIEW = (1 << 23),
 	/*! If set, user will be asked to record name on entry of conference 
 	 *  without review */
-	CONFFLAG_STARTMUTED = (1 << 24)
+	CONFFLAG_INTROUSERNOREVIEW = (1 << 23),
 	/*! If set, the user will be initially self-muted */
+	CONFFLAG_STARTMUTED = (1 << 24),
+	/*! If set, the user is a shared line appearance station */
+	CONFFLAG_SLA_STATION = (1 << 25),
+	/*! If set, the user is a shared line appearance trunk */
+	CONFFLAG_SLA_TRUNK = (1 << 26),
+	/*! If set, the user has put us on hold */
+	CONFFLAG_HOLD = (1 << 27)
 };
 
 AST_APP_OPTIONS(meetme_opts, {
@@ -332,7 +338,9 @@
 	int talking;                            /*!< Is user talking */
 	int zapchannel;                         /*!< Is a Zaptel channel */
 	char usrvalue[50];                      /*!< Custom User Value */
-	char namerecloc[PATH_MAX];		/*!< Name Recorded file Location */
+	char namerecloc[PATH_MAX];				/*!< Name Recorded file Location */
+	int control;							/*! Queue Control for transmission */
+	int dtmf;								/*! Queue DTMF for transmission */
 	time_t jointime;                        /*!< Time the user joined the conference */
 	struct volume talk;
 	struct volume listen;
@@ -809,7 +817,7 @@
 			min = ((now - user->jointime) % 3600) / 60;
 			sec = (now - user->jointime) % 60;
 			if ( !concise )
-				ast_cli(fd, "User #: %-2.2d %12.12s %-20.20s Channel: %s %s %s %s %s %02d:%02d:%02d\n",
+				ast_cli(fd, "User #: %-2.2d %12.12s %-20.20s Channel: %s %s %s %s %s %s %02d:%02d:%02d\n",
 					user->user_no,
 					S_OR(user->chan->cid.cid_num, "<unknown>"),
 					S_OR(user->chan->cid.cid_name, "<no name>"),
@@ -817,7 +825,8 @@
 					user->userflags & CONFFLAG_ADMIN ? "(Admin)" : "",
 					user->userflags & CONFFLAG_MONITOR ? "(Listen only)" : "",
 					user->adminflags & ADMINFLAG_MUTED ? "(Admin Muted)" : user->adminflags & ADMINFLAG_SELFMUTED ? "(Muted)" : "",
-					istalking(user->talking), hr, min, sec);
+					istalking(user->talking), 
+					user->userflags & CONFFLAG_HOLD ? " (On Hold) " : "", hr, min, sec);
 			else 
 				ast_cli(fd, "%d!%s!%s!%s!%s!%s!%s!%d!%02d:%02d:%02d\n",
 					user->user_no,
@@ -979,6 +988,23 @@
 
 	return 0;
 }
+
+static void conf_queue_dtmf(struct ast_conference *conf, int digit)
+{
+	struct ast_conf_user *user;
+	AST_LIST_TRAVERSE(&conf->userlist, user, list) {
+		user->dtmf = digit;
+	}
+}
+
+static void conf_queue_control(struct ast_conference *conf, int control)
+{
+	struct ast_conf_user *user;
+	AST_LIST_TRAVERSE(&conf->userlist, user, list) {
+		user->control = control;
+	}
+}
+
 
 static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int confflags)
 {
@@ -1087,6 +1113,8 @@
 	/* This device changed state now - if this is the first user */
 	if (conf->users == 1)
 		ast_device_state_changed("meetme:%s", conf->confno);
+	if (confflags & (CONFFLAG_SLA_STATION|CONFFLAG_SLA_TRUNK))
+		ast_device_state_changed("SLA:%s", conf->confno + 4);
 
 	ast_mutex_unlock(&conf->playlock);
 
@@ -1549,6 +1577,17 @@
 						if (user->talking || !(confflags & CONFFLAG_OPTIMIZETALKER))
 							careful_write(fd, f->data, f->datalen, 0);
 					}
+				} else if ((f->frametype == AST_FRAME_DTMF) && 
+							(confflags & (CONFFLAG_SLA_STATION|CONFFLAG_SLA_TRUNK))) {
+					conf_queue_dtmf(conf, f->subclass);
+				} else if ((f->frametype == AST_FRAME_CONTROL) && 
+							(confflags & (CONFFLAG_SLA_STATION|CONFFLAG_SLA_TRUNK))) {
+					conf_queue_control(conf, f->subclass);
+					if (f->subclass == AST_CONTROL_HOLD)
+						confflags |= CONFFLAG_HOLD;
+					else if (f->subclass == AST_CONTROL_UNHOLD)
+						confflags &= ~CONFFLAG_HOLD;
+					user->userflags = confflags;
 				} else if ((f->frametype == AST_FRAME_DTMF) && (confflags & CONFFLAG_EXIT_CONTEXT)) {
 					char tmp[2];
 
@@ -1727,6 +1766,33 @@
 				}
 				ast_frfree(f);
 			} else if (outfd > -1) {
+				if (user->control) {
+					switch(user->control) {
+					case AST_CONTROL_RINGING:
+					case AST_CONTROL_PROGRESS:
+					case AST_CONTROL_PROCEEDING:
+						ast_indicate(chan, user->control);
+						break;
+					case AST_CONTROL_ANSWER:
+						if (chan->_state != AST_STATE_UP)
+							ast_answer(chan);
+						break;
+					}
+					user->control = 0;
+					if (confflags & (CONFFLAG_SLA_STATION|CONFFLAG_SLA_TRUNK))
+						ast_device_state_changed("SLA:%s", conf->confno + 4);
+					continue;
+				}
+				if (user->dtmf) {
+					memset(&fr, 0, sizeof(fr));
+					fr.frametype = AST_FRAME_DTMF;
+					fr.subclass = user->dtmf;
+					if (ast_write(chan, &fr) < 0) {
+						ast_log(LOG_WARNING, "Unable to write frame to channel: %s\n", strerror(errno));
+					}
+					user->dtmf = 0;
+					continue;
+				}
 				res = read(outfd, buf, CONF_SIZE);
 				if (res > 0) {
 					memset(&fr, 0, sizeof(fr));
@@ -1867,6 +1933,8 @@
 		/* This device changed state now */
 		if (!conf->users)	/* If there are no more members */
 			ast_device_state_changed("meetme:%s", conf->confno);
+		if (confflags & (CONFFLAG_SLA_STATION|CONFFLAG_SLA_TRUNK))
+			ast_device_state_changed("SLA:%s", conf->confno + 4);
 	}
 	free(user);
 	AST_LIST_UNLOCK(&confs);
@@ -2402,6 +2470,31 @@
 }
 
 
+static int sla_checkforhold(struct ast_conference *conf, int hangup)
+{
+	struct ast_conf_user *user;
+	struct ast_channel *onhold=NULL;
+	int holdcount = 0;
+	int stationcount = 0;
+	int amonhold = 0;
+	AST_LIST_TRAVERSE(&conf->userlist, user, list) {
+		if (user->userflags & CONFFLAG_SLA_STATION) {
+			stationcount++;
+			if ((user->userflags & CONFFLAG_HOLD)) {
+				holdcount++;
+				onhold = user->chan;
+			}
+		}
+	}
+	if ((holdcount == 1) && (stationcount == 1)) {
+		amonhold = 1;
+		if (hangup)
+			ast_softhangup(onhold, AST_SOFTHANGUP_EXPLICIT);
+	} else if (holdcount && (stationcount == holdcount))
+		amonhold = 1;
+	return amonhold;
+}
+
 
 /*! \brief The slas()/slat() application */
 static int sla_exec(struct ast_channel *chan, void *data, int trunk)
@@ -2435,29 +2528,31 @@
 	
 	LOCAL_USER_ADD(u);
 
-	if (chan->_state != AST_STATE_UP)
-		ast_answer(chan);
 
 	if (args.options)
 		ast_app_parse_options(sla_opts, &confflags, NULL, args.options);
 		
 	ast_set_flag(&confflags, CONFFLAG_QUIET|CONFFLAG_DYNAMIC);
 	if (trunk)
-		ast_set_flag(&confflags, CONFFLAG_WAITMARKED|CONFFLAG_MARKEDEXIT);
+		ast_set_flag(&confflags, CONFFLAG_WAITMARKED|CONFFLAG_MARKEDEXIT|CONFFLAG_SLA_TRUNK);
 	else
-		ast_set_flag(&confflags, CONFFLAG_MARKEDUSER);
+		ast_set_flag(&confflags, CONFFLAG_MARKEDUSER|CONFFLAG_SLA_STATION);
 
 	sla = ASTOBJ_CONTAINER_FIND(&slas, args.confno);
 	if (sla) {
 		snprintf(confno, sizeof(confno), "sla-%s", args.confno);
 		cnf = find_conf(chan, confno, 1, dynamic, "", 1, &confflags);
 		if (cnf) {
+			sla_checkforhold(cnf, 1);
 			if (!cnf->users) {
-				if (trunk)
+				if (trunk) {
+					ast_indicate(chan, AST_CONTROL_RINGING);
 					invite_stations(chan, sla);
-				else
+				} else
 					invite_trunk(chan, sla);
-			}
+			} else if (chan->_state != AST_STATE_UP)
+				ast_answer(chan);
+
 			/* Run the conference */
 			res = conf_run(chan, cnf, confflags.flags);
 		} else
@@ -2808,6 +2903,44 @@
 	return AST_DEVICE_INUSE;
 }
 
+/*! \brief Callback for devicestate providers */
+static int slastate(const char *data)
+{
+	struct ast_conference *conf;
+	struct ast_sla *sla, *sla2;
+
+	ast_log(LOG_DEBUG, "asked for sla state for '%s'\n", data);
+
+	/* Find conference */
+	AST_LIST_LOCK(&confs);
+	AST_LIST_TRAVERSE(&confs, conf, list) {
+		if (!strncmp(conf->confno, "sla-", 4) && !strcmp(data, conf->confno + 4))
+			break;
+	}
+	AST_LIST_UNLOCK(&confs);
+
+	/* Find conference */
+	sla = sla2 = ASTOBJ_CONTAINER_FIND(&slas, data);
+	ASTOBJ_UNREF(sla2, sla_destroy);
+
+	ast_log(LOG_DEBUG, "for '%s' conf = %p, sla = %p\n", data, conf, sla);
+
+	if (!conf && !sla)
+		return AST_DEVICE_INVALID;
+
+	/* SKREP to fill */
+	if (!conf || !conf->users)
+		return AST_DEVICE_NOT_INUSE;
+	
+	if (conf && sla_checkforhold(conf, 0))
+		return AST_DEVICE_ONHOLD;
+
+	if ((conf->users == 1) && (AST_LIST_FIRST(&conf->userlist)->userflags & CONFFLAG_SLA_TRUNK))
+		return AST_DEVICE_RINGING;
+
+	return AST_DEVICE_INUSE;
+}
+
 static void load_config_meetme(void)
 {
 	struct ast_config *cfg;
@@ -2874,6 +3007,7 @@
 	if (sla) {
 		ASTOBJ_UNMARK(sla);
 		ASTOBJ_WRLOCK(sla);
+		ASTOBJ_CONTAINER_DESTROYALL(&sla->stations, station_destroy);
 		while (v) {
 			if (!strcasecmp(v->name, "trunk")) {
 				char *c;
@@ -2888,6 +3022,7 @@
 			v = v->next;
 		}
 		ASTOBJ_UNLOCK(sla);
+		ast_device_state_changed("SLA:%s", cat);
 	}
 }
 
@@ -2930,6 +3065,7 @@
 	res |= ast_unregister_application(app);
 
 	ast_devstate_prov_del("Meetme");
+	ast_devstate_prov_del("SLA");
 	STANDARD_HANGUP_LOCALUSERS;
 
 	return res;
@@ -2939,7 +3075,6 @@
 {
 	int res;
 
-	load_config();
 	ASTOBJ_CONTAINER_INIT(&slas);
 	res = ast_cli_register(&cli_show_confs);
 	res |= ast_cli_register(&cli_sla_show);
@@ -2953,6 +3088,8 @@
 	res |= ast_register_application(appslat, slat_exec, synopslat, descripslat);
 
 	res |= ast_devstate_prov_add("Meetme", meetmestate);
+	res |= ast_devstate_prov_add("SLA", slastate);
+	load_config();
 	return res;
 }
 

Modified: team/jcollie/vcard/apps/app_osplookup.c
URL: http://svn.digium.com/view/asterisk/team/jcollie/vcard/apps/app_osplookup.c?rev=37332&r1=37331&r2=37332&view=diff
==============================================================================
--- team/jcollie/vcard/apps/app_osplookup.c (original)
+++ team/jcollie/vcard/apps/app_osplookup.c Mon Jul 10 08:20:15 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/jcollie/vcard/apps/app_sms.c
URL: http://svn.digium.com/view/asterisk/team/jcollie/vcard/apps/app_sms.c?rev=37332&r1=37331&r2=37332&view=diff
==============================================================================
--- team/jcollie/vcard/apps/app_sms.c (original)
+++ team/jcollie/vcard/apps/app_sms.c Mon Jul 10 08:20:15 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/jcollie/vcard/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/jcollie/vcard/apps/app_voicemail.c?rev=37332&r1=37331&r2=37332&view=diff
==============================================================================
--- team/jcollie/vcard/apps/app_voicemail.c (original)
+++ team/jcollie/vcard/apps/app_voicemail.c Mon Jul 10 08:20:15 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/jcollie/vcard/build_tools/menuselect-deps.in
URL: http://svn.digium.com/view/asterisk/team/jcollie/vcard/build_tools/menuselect-deps.in?rev=37332&r1=37331&r2=37332&view=diff
==============================================================================
--- team/jcollie/vcard/build_tools/menuselect-deps.in (original)
+++ team/jcollie/vcard/build_tools/menuselect-deps.in Mon Jul 10 08:20:15 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/jcollie/vcard/build_tools/prep_moduledeps
URL: http://svn.digium.com/view/asterisk/team/jcollie/vcard/build_tools/prep_moduledeps?rev=37332&r1=37331&r2=37332&view=diff
==============================================================================
--- team/jcollie/vcard/build_tools/prep_moduledeps (original)
+++ team/jcollie/vcard/build_tools/prep_moduledeps Mon Jul 10 08:20:15 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

Propchange: team/jcollie/vcard/channels/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Jul 10 08:20:15 2006
@@ -1,6 +1,7 @@
 .depend
 *.a
 *.so
+*.oo
 gentone
 busy.h
 ringtone.h

Modified: team/jcollie/vcard/channels/Makefile
URL: http://svn.digium.com/view/asterisk/team/jcollie/vcard/channels/Makefile?rev=37332&r1=37331&r2=37332&view=diff
==============================================================================
--- team/jcollie/vcard/channels/Makefile (original)
+++ team/jcollie/vcard/channels/Makefile Mon Jul 10 08:20:15 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 $(ASTTOPDIR)/Makefile.moddir_rules
 
 clean::
-	rm -f busy.h ringtone.h gentone gentone-ulaw
+	rm -f busy.h ringtone.h gentone
 
-ifneq ($(wildcard $(ASTTOPDIR)/Makefile.ast),)
-  include $(ASTTOPDIR)/Makefile.ast
+ifneq ($(wildcard $(PWD)/Makefile.ast),)
+  include $(PWD)/Makefile.ast
 endif
 
-ifneq ($(wildcard m$(ASTTOPDIR)/Makefile.ast),)
-  include m$(ASTTOPDIR)/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 $(ASTTOPDIR)/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/jcollie/vcard/channels/chan_agent.c
URL: http://svn.digium.com/view/asterisk/team/jcollie/vcard/channels/chan_agent.c?rev=37332&r1=37331&r2=37332&view=diff
==============================================================================
--- team/jcollie/vcard/channels/chan_agent.c (original)
+++ team/jcollie/vcard/channels/chan_agent.c Mon Jul 10 08:20:15 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/jcollie/vcard/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/team/jcollie/vcard/channels/chan_iax2.c?rev=37332&r1=37331&r2=37332&view=diff

[... 2455 lines stripped ...]


More information about the asterisk-commits mailing list