[asterisk-commits] branch jcollie/base64 r37329 - in
/team/jcollie/base64: ./ agi/ apps/ build_t...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Mon Jul 10 06:10:35 MST 2006
Author: jcollie
Date: Mon Jul 10 08:10:34 2006
New Revision: 37329
URL: http://svn.digium.com/view/asterisk?rev=37329&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/base64/Makefile.rules
- copied unchanged from r37324, trunk/Makefile.rules
team/jcollie/base64/channels/chan_vpb.cc
- copied unchanged from r37324, trunk/channels/chan_vpb.cc
team/jcollie/base64/pbx/ael/ael-test/ael-ntest9/
- copied from r37324, trunk/pbx/ael/ael-test/ael-ntest9/
team/jcollie/base64/pbx/ael/ael-test/ael-ntest9/extensions.ael
- copied unchanged from r37324, trunk/pbx/ael/ael-test/ael-ntest9/extensions.ael
team/jcollie/base64/pbx/ael/ael-test/ref.ael-ntest9
- copied unchanged from r37324, trunk/pbx/ael/ael-test/ref.ael-ntest9
team/jcollie/base64/pbx/kdeconsole_main.cc
- copied unchanged from r37324, trunk/pbx/kdeconsole_main.cc
Removed:
team/jcollie/base64/channels/chan_vpb.c
team/jcollie/base64/codecs/codec_g723_1.c
team/jcollie/base64/codecs/g723_slin_ex.h
team/jcollie/base64/codecs/slin_g723_ex.h
team/jcollie/base64/pbx/pbx_kdeconsole_main.cc
Modified:
team/jcollie/base64/ (props changed)
team/jcollie/base64/Makefile
team/jcollie/base64/Makefile.moddir_rules
team/jcollie/base64/agi/Makefile
team/jcollie/base64/apps/Makefile
team/jcollie/base64/apps/app_dial.c
team/jcollie/base64/apps/app_meetme.c
team/jcollie/base64/apps/app_osplookup.c
team/jcollie/base64/apps/app_sms.c
team/jcollie/base64/apps/app_voicemail.c
team/jcollie/base64/build_tools/menuselect-deps.in
team/jcollie/base64/build_tools/prep_moduledeps
team/jcollie/base64/channels/ (props changed)
team/jcollie/base64/channels/Makefile
team/jcollie/base64/channels/chan_agent.c
team/jcollie/base64/channels/chan_iax2.c
team/jcollie/base64/channels/chan_misdn.c
team/jcollie/base64/channels/chan_sip.c
team/jcollie/base64/channels/chan_zap.c
team/jcollie/base64/channels/iax2-parser.c
team/jcollie/base64/channels/iax2-provision.c
team/jcollie/base64/channels/misdn/isdn_lib.c
team/jcollie/base64/codecs/Makefile
team/jcollie/base64/codecs/codec_gsm.c
team/jcollie/base64/codecs/codec_ilbc.c
team/jcollie/base64/codecs/codec_lpc10.c
team/jcollie/base64/codecs/gsm/Makefile
team/jcollie/base64/codecs/gsm/src/preprocess.c
team/jcollie/base64/codecs/ilbc/Makefile
team/jcollie/base64/codecs/lpc10/Makefile
team/jcollie/base64/configs/sip.conf.sample
team/jcollie/base64/configure
team/jcollie/base64/configure.ac
team/jcollie/base64/db1-ast/Makefile
team/jcollie/base64/devicestate.c
team/jcollie/base64/dns.c
team/jcollie/base64/enum.c
team/jcollie/base64/formats/format_wav_gsm.c
team/jcollie/base64/http.c
team/jcollie/base64/include/asterisk/autoconfig.h.in
team/jcollie/base64/include/asterisk/devicestate.h
team/jcollie/base64/include/asterisk/dns.h
team/jcollie/base64/include/asterisk/pbx.h
team/jcollie/base64/makeopts.in
team/jcollie/base64/pbx.c
team/jcollie/base64/pbx/Makefile
team/jcollie/base64/pbx/ael/ael-test/runtests
team/jcollie/base64/pbx/ael/ael.flex
team/jcollie/base64/pbx/ael/ael_lex.c
team/jcollie/base64/pbx/pbx_kdeconsole.cc
team/jcollie/base64/res/res_config_pgsql.c
team/jcollie/base64/res/res_jabber.c
team/jcollie/base64/rtp.c
team/jcollie/base64/srv.c
team/jcollie/base64/utils/Makefile
team/jcollie/base64/utils/smsq.c
Propchange: team/jcollie/base64/
------------------------------------------------------------------------------
automerge = *
Propchange: team/jcollie/base64/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.
Propchange: team/jcollie/base64/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Jul 10 08:10:34 2006
@@ -21,3 +21,4 @@
config.log
makeopts.xml
autom4te.cache
+muted
Propchange: team/jcollie/base64/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Mon Jul 10 08:10:34 2006
@@ -1,1 +1,1 @@
-/trunk:1-37230
+/trunk:1-37327
Modified: team/jcollie/base64/Makefile
URL: http://svn.digium.com/view/asterisk/team/jcollie/base64/Makefile?rev=37329&r1=37328&r2=37329&view=diff
==============================================================================
--- team/jcollie/base64/Makefile (original)
+++ team/jcollie/base64/Makefile Mon Jul 10 08:10:34 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
@@ -892,7 +895,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/base64/Makefile.moddir_rules
URL: http://svn.digium.com/view/asterisk/team/jcollie/base64/Makefile.moddir_rules?rev=37329&r1=37328&r2=37329&view=diff
==============================================================================
--- team/jcollie/base64/Makefile.moddir_rules (original)
+++ team/jcollie/base64/Makefile.moddir_rules Mon Jul 10 08:10:34 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/base64/agi/Makefile
URL: http://svn.digium.com/view/asterisk/team/jcollie/base64/agi/Makefile?rev=37329&r1=37328&r2=37329&view=diff
==============================================================================
--- team/jcollie/base64/agi/Makefile (original)
+++ team/jcollie/base64/agi/Makefile Mon Jul 10 08:10:34 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/base64/apps/Makefile
URL: http://svn.digium.com/view/asterisk/team/jcollie/base64/apps/Makefile?rev=37329&r1=37328&r2=37329&view=diff
==============================================================================
--- team/jcollie/base64/apps/Makefile (original)
+++ team/jcollie/base64/apps/Makefile Mon Jul 10 08:10:34 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/base64/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/jcollie/base64/apps/app_dial.c?rev=37329&r1=37328&r2=37329&view=diff
==============================================================================
--- team/jcollie/base64/apps/app_dial.c (original)
+++ team/jcollie/base64/apps/app_dial.c Mon Jul 10 08:10:34 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/base64/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/jcollie/base64/apps/app_meetme.c?rev=37329&r1=37328&r2=37329&view=diff
==============================================================================
--- team/jcollie/base64/apps/app_meetme.c (original)
+++ team/jcollie/base64/apps/app_meetme.c Mon Jul 10 08:10:34 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/base64/apps/app_osplookup.c
URL: http://svn.digium.com/view/asterisk/team/jcollie/base64/apps/app_osplookup.c?rev=37329&r1=37328&r2=37329&view=diff
==============================================================================
--- team/jcollie/base64/apps/app_osplookup.c (original)
+++ team/jcollie/base64/apps/app_osplookup.c Mon Jul 10 08:10:34 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/base64/apps/app_sms.c
URL: http://svn.digium.com/view/asterisk/team/jcollie/base64/apps/app_sms.c?rev=37329&r1=37328&r2=37329&view=diff
==============================================================================
--- team/jcollie/base64/apps/app_sms.c (original)
+++ team/jcollie/base64/apps/app_sms.c Mon Jul 10 08:10:34 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/base64/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/jcollie/base64/apps/app_voicemail.c?rev=37329&r1=37328&r2=37329&view=diff
==============================================================================
--- team/jcollie/base64/apps/app_voicemail.c (original)
+++ team/jcollie/base64/apps/app_voicemail.c Mon Jul 10 08:10:34 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/base64/build_tools/menuselect-deps.in
URL: http://svn.digium.com/view/asterisk/team/jcollie/base64/build_tools/menuselect-deps.in?rev=37329&r1=37328&r2=37329&view=diff
==============================================================================
--- team/jcollie/base64/build_tools/menuselect-deps.in (original)
+++ team/jcollie/base64/build_tools/menuselect-deps.in Mon Jul 10 08:10:34 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/base64/build_tools/prep_moduledeps
URL: http://svn.digium.com/view/asterisk/team/jcollie/base64/build_tools/prep_moduledeps?rev=37329&r1=37328&r2=37329&view=diff
==============================================================================
--- team/jcollie/base64/build_tools/prep_moduledeps (original)
+++ team/jcollie/base64/build_tools/prep_moduledeps Mon Jul 10 08:10:34 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/base64/channels/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Jul 10 08:10:34 2006
@@ -1,6 +1,7 @@
.depend
*.a
*.so
+*.oo
gentone
busy.h
ringtone.h
Modified: team/jcollie/base64/channels/Makefile
URL: http://svn.digium.com/view/asterisk/team/jcollie/base64/channels/Makefile?rev=37329&r1=37328&r2=37329&view=diff
==============================================================================
--- team/jcollie/base64/channels/Makefile (original)
+++ team/jcollie/base64/channels/Makefile Mon Jul 10 08:10:34 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/base64/channels/chan_agent.c
URL: http://svn.digium.com/view/asterisk/team/jcollie/base64/channels/chan_agent.c?rev=37329&r1=37328&r2=37329&view=diff
==============================================================================
--- team/jcollie/base64/channels/chan_agent.c (original)
+++ team/jcollie/base64/channels/chan_agent.c Mon Jul 10 08:10:34 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/base64/channels/chan_iax2.c
[... 2456 lines stripped ...]
More information about the asterisk-commits
mailing list