[asterisk-commits] russell: branch russell/ast_channel_ao2 r183389 - in /team/russell/ast_channe...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Mar 19 15:02:33 CDT 2009
Author: russell
Date: Thu Mar 19 15:02:23 2009
New Revision: 183389
URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=183389
Log:
sync with trunk, resolve conflicts (this isn't going to compile anymore...)
Added:
team/russell/ast_channel_ao2/apps/app_confbridge.c
- copied unchanged from r183345, trunk/apps/app_confbridge.c
team/russell/ast_channel_ao2/bridges/ (props changed)
- copied from r183345, trunk/bridges/
team/russell/ast_channel_ao2/bridges/Makefile
- copied unchanged from r183345, trunk/bridges/Makefile
team/russell/ast_channel_ao2/bridges/bridge_builtin_features.c
- copied unchanged from r183345, trunk/bridges/bridge_builtin_features.c
team/russell/ast_channel_ao2/bridges/bridge_multiplexed.c
- copied unchanged from r183345, trunk/bridges/bridge_multiplexed.c
team/russell/ast_channel_ao2/bridges/bridge_simple.c
- copied unchanged from r183345, trunk/bridges/bridge_simple.c
team/russell/ast_channel_ao2/bridges/bridge_softmix.c
- copied unchanged from r183345, trunk/bridges/bridge_softmix.c
team/russell/ast_channel_ao2/channels/chan_bridge.c
- copied unchanged from r183345, trunk/channels/chan_bridge.c
team/russell/ast_channel_ao2/contrib/editors/
- copied from r183345, trunk/contrib/editors/
team/russell/ast_channel_ao2/contrib/editors/ael.vim
- copied unchanged from r183345, trunk/contrib/editors/ael.vim
team/russell/ast_channel_ao2/contrib/editors/asterisk.vim
- copied unchanged from r183345, trunk/contrib/editors/asterisk.vim
team/russell/ast_channel_ao2/contrib/editors/asteriskvm.vim
- copied unchanged from r183345, trunk/contrib/editors/asteriskvm.vim
team/russell/ast_channel_ao2/default.exports
- copied unchanged from r183345, trunk/default.exports
team/russell/ast_channel_ao2/doc/database_transactions.txt
- copied unchanged from r183345, trunk/doc/database_transactions.txt
team/russell/ast_channel_ao2/doc/google-soc2009-ideas.txt
- copied unchanged from r183345, trunk/doc/google-soc2009-ideas.txt
team/russell/ast_channel_ao2/doc/timing.txt
- copied unchanged from r183345, trunk/doc/timing.txt
team/russell/ast_channel_ao2/include/asterisk/bridging.h
- copied unchanged from r183345, trunk/include/asterisk/bridging.h
team/russell/ast_channel_ao2/include/asterisk/bridging_features.h
- copied unchanged from r183345, trunk/include/asterisk/bridging_features.h
team/russell/ast_channel_ao2/include/asterisk/bridging_technology.h
- copied unchanged from r183345, trunk/include/asterisk/bridging_technology.h
team/russell/ast_channel_ao2/main/asterisk.exports
- copied unchanged from r183345, trunk/main/asterisk.exports
team/russell/ast_channel_ao2/main/bridging.c
- copied unchanged from r183345, trunk/main/bridging.c
team/russell/ast_channel_ao2/res/res_adsi.exports
- copied unchanged from r183345, trunk/res/res_adsi.exports
team/russell/ast_channel_ao2/res/res_ael_share.exports
- copied unchanged from r183345, trunk/res/res_ael_share.exports
team/russell/ast_channel_ao2/res/res_agi.exports
- copied unchanged from r183345, trunk/res/res_agi.exports
team/russell/ast_channel_ao2/res/res_features.exports
- copied unchanged from r183345, trunk/res/res_features.exports
team/russell/ast_channel_ao2/res/res_jabber.exports
- copied unchanged from r183345, trunk/res/res_jabber.exports
team/russell/ast_channel_ao2/res/res_monitor.exports
- copied unchanged from r183345, trunk/res/res_monitor.exports
team/russell/ast_channel_ao2/res/res_odbc.exports
- copied unchanged from r183345, trunk/res/res_odbc.exports
team/russell/ast_channel_ao2/res/res_smdi.exports
- copied unchanged from r183345, trunk/res/res_smdi.exports
team/russell/ast_channel_ao2/res/res_speech.exports
- copied unchanged from r183345, trunk/res/res_speech.exports
Removed:
team/russell/ast_channel_ao2/build_tools/strip_nonapi
Modified:
team/russell/ast_channel_ao2/ (props changed)
team/russell/ast_channel_ao2/CHANGES
team/russell/ast_channel_ao2/CREDITS
team/russell/ast_channel_ao2/Makefile
team/russell/ast_channel_ao2/Makefile.rules
team/russell/ast_channel_ao2/README
team/russell/ast_channel_ao2/UPGRADE.txt
team/russell/ast_channel_ao2/apps/app_dial.c
team/russell/ast_channel_ao2/apps/app_directed_pickup.c
team/russell/ast_channel_ao2/apps/app_fax.c
team/russell/ast_channel_ao2/apps/app_meetme.c
team/russell/ast_channel_ao2/apps/app_mp3.c
team/russell/ast_channel_ao2/apps/app_nbscat.c
team/russell/ast_channel_ao2/apps/app_osplookup.c
team/russell/ast_channel_ao2/apps/app_queue.c
team/russell/ast_channel_ao2/apps/app_read.c
team/russell/ast_channel_ao2/apps/app_rpt.c
team/russell/ast_channel_ao2/apps/app_speech_utils.c
team/russell/ast_channel_ao2/apps/app_system.c
team/russell/ast_channel_ao2/apps/app_voicemail.c
team/russell/ast_channel_ao2/autoconf/ast_check_gnu_make.m4
team/russell/ast_channel_ao2/autoconf/ast_check_openh323.m4
team/russell/ast_channel_ao2/autoconf/ast_ext_lib.m4
team/russell/ast_channel_ao2/autoconf/ast_prog_sed.m4
team/russell/ast_channel_ao2/build_tools/make_version
team/russell/ast_channel_ao2/cdr/cdr_sqlite3_custom.c
team/russell/ast_channel_ao2/channels/chan_alsa.c
team/russell/ast_channel_ao2/channels/chan_dahdi.c
team/russell/ast_channel_ao2/channels/chan_h323.c
team/russell/ast_channel_ao2/channels/chan_iax2.c
team/russell/ast_channel_ao2/channels/chan_local.c
team/russell/ast_channel_ao2/channels/chan_sip.c
team/russell/ast_channel_ao2/channels/chan_skinny.c
team/russell/ast_channel_ao2/channels/h323/ast_h323.cxx
team/russell/ast_channel_ao2/channels/h323/ast_h323.h
team/russell/ast_channel_ao2/channels/h323/chan_h323.h
team/russell/ast_channel_ao2/channels/h323/compat_h323.cxx
team/russell/ast_channel_ao2/channels/h323/compat_h323.h
team/russell/ast_channel_ao2/channels/iax2-parser.h
team/russell/ast_channel_ao2/configs/ais.conf.sample
team/russell/ast_channel_ao2/configs/chan_dahdi.conf.sample
team/russell/ast_channel_ao2/configs/extensions.conf.sample
team/russell/ast_channel_ao2/configs/features.conf.sample
team/russell/ast_channel_ao2/configs/queues.conf.sample
team/russell/ast_channel_ao2/configs/res_odbc.conf.sample
team/russell/ast_channel_ao2/configs/res_snmp.conf.sample
team/russell/ast_channel_ao2/configs/sip.conf.sample
team/russell/ast_channel_ao2/configs/voicemail.conf.sample
team/russell/ast_channel_ao2/configure
team/russell/ast_channel_ao2/configure.ac
team/russell/ast_channel_ao2/contrib/asterisk-ng-doxygen
team/russell/ast_channel_ao2/contrib/init.d/rc.archlinux.asterisk
team/russell/ast_channel_ao2/contrib/init.d/rc.debian.asterisk
team/russell/ast_channel_ao2/contrib/scripts/safe_asterisk
team/russell/ast_channel_ao2/doc/distributed_devstate.txt
team/russell/ast_channel_ao2/doc/manager_1_1.txt
team/russell/ast_channel_ao2/doc/tex/channelvariables.tex
team/russell/ast_channel_ao2/funcs/func_channel.c
team/russell/ast_channel_ao2/funcs/func_env.c
team/russell/ast_channel_ao2/funcs/func_odbc.c
team/russell/ast_channel_ao2/include/asterisk/app.h
team/russell/ast_channel_ao2/include/asterisk/astmm.h
team/russell/ast_channel_ao2/include/asterisk/astobj2.h
team/russell/ast_channel_ao2/include/asterisk/audiohook.h
team/russell/ast_channel_ao2/include/asterisk/autoconfig.h.in
team/russell/ast_channel_ao2/include/asterisk/callerid.h
team/russell/ast_channel_ao2/include/asterisk/channel.h
team/russell/ast_channel_ao2/include/asterisk/config.h
team/russell/ast_channel_ao2/include/asterisk/datastore.h
team/russell/ast_channel_ao2/include/asterisk/devicestate.h
team/russell/ast_channel_ao2/include/asterisk/dlinkedlists.h
team/russell/ast_channel_ao2/include/asterisk/dnsmgr.h
team/russell/ast_channel_ao2/include/asterisk/doxyref.h
team/russell/ast_channel_ao2/include/asterisk/dsp.h
team/russell/ast_channel_ao2/include/asterisk/enum.h
team/russell/ast_channel_ao2/include/asterisk/event.h
team/russell/ast_channel_ao2/include/asterisk/extconf.h
team/russell/ast_channel_ao2/include/asterisk/features.h
team/russell/ast_channel_ao2/include/asterisk/frame.h
team/russell/ast_channel_ao2/include/asterisk/hashtab.h
team/russell/ast_channel_ao2/include/asterisk/heap.h
team/russell/ast_channel_ao2/include/asterisk/http.h
team/russell/ast_channel_ao2/include/asterisk/indications.h
team/russell/ast_channel_ao2/include/asterisk/io.h
team/russell/ast_channel_ao2/include/asterisk/linkedlists.h
team/russell/ast_channel_ao2/include/asterisk/lock.h
team/russell/ast_channel_ao2/include/asterisk/logger.h
team/russell/ast_channel_ao2/include/asterisk/manager.h
team/russell/ast_channel_ao2/include/asterisk/pbx.h
team/russell/ast_channel_ao2/include/asterisk/poll-compat.h
team/russell/ast_channel_ao2/include/asterisk/res_odbc.h
team/russell/ast_channel_ao2/include/asterisk/rtp.h
team/russell/ast_channel_ao2/include/asterisk/sched.h
team/russell/ast_channel_ao2/include/asterisk/strings.h
team/russell/ast_channel_ao2/include/asterisk/taskprocessor.h
team/russell/ast_channel_ao2/include/asterisk/tcptls.h
team/russell/ast_channel_ao2/include/asterisk/threadstorage.h
team/russell/ast_channel_ao2/include/asterisk/timing.h
team/russell/ast_channel_ao2/include/asterisk/udptl.h
team/russell/ast_channel_ao2/include/asterisk/utils.h
team/russell/ast_channel_ao2/main/Makefile
team/russell/ast_channel_ao2/main/abstract_jb.c
team/russell/ast_channel_ao2/main/acl.c
team/russell/ast_channel_ao2/main/aescrypt.c
team/russell/ast_channel_ao2/main/alaw.c
team/russell/ast_channel_ao2/main/app.c
team/russell/ast_channel_ao2/main/ast_expr2.c
team/russell/ast_channel_ao2/main/ast_expr2.fl
team/russell/ast_channel_ao2/main/ast_expr2.h
team/russell/ast_channel_ao2/main/ast_expr2.y
team/russell/ast_channel_ao2/main/ast_expr2f.c
team/russell/ast_channel_ao2/main/asterisk.c
team/russell/ast_channel_ao2/main/astobj2.c
team/russell/ast_channel_ao2/main/audiohook.c
team/russell/ast_channel_ao2/main/callerid.c
team/russell/ast_channel_ao2/main/channel.c
team/russell/ast_channel_ao2/main/db.c
team/russell/ast_channel_ao2/main/devicestate.c
team/russell/ast_channel_ao2/main/editline/configure
team/russell/ast_channel_ao2/main/editline/configure.in
team/russell/ast_channel_ao2/main/editline/np/unvis.c
team/russell/ast_channel_ao2/main/editline/sys.h
team/russell/ast_channel_ao2/main/enum.c
team/russell/ast_channel_ao2/main/features.c
team/russell/ast_channel_ao2/main/file.c
team/russell/ast_channel_ao2/main/frame.c
team/russell/ast_channel_ao2/main/hashtab.c
team/russell/ast_channel_ao2/main/heap.c
team/russell/ast_channel_ao2/main/indications.c
team/russell/ast_channel_ao2/main/io.c
team/russell/ast_channel_ao2/main/loader.c
team/russell/ast_channel_ao2/main/manager.c
team/russell/ast_channel_ao2/main/pbx.c
team/russell/ast_channel_ao2/main/poll.c
team/russell/ast_channel_ao2/main/rtp.c
team/russell/ast_channel_ao2/main/sched.c
team/russell/ast_channel_ao2/main/stdtime/localtime.c
team/russell/ast_channel_ao2/main/strings.c
team/russell/ast_channel_ao2/main/tcptls.c
team/russell/ast_channel_ao2/main/translate.c
team/russell/ast_channel_ao2/main/utils.c
team/russell/ast_channel_ao2/makeopts.in
team/russell/ast_channel_ao2/pbx/pbx_config.c
team/russell/ast_channel_ao2/pbx/pbx_spool.c
team/russell/ast_channel_ao2/res/ael/ael.tab.c
team/russell/ast_channel_ao2/res/ael/ael.y
team/russell/ast_channel_ao2/res/res_agi.c
team/russell/ast_channel_ao2/res/res_ais.c
team/russell/ast_channel_ao2/res/res_config_ldap.c
team/russell/ast_channel_ao2/res/res_config_odbc.c
team/russell/ast_channel_ao2/res/res_config_pgsql.c
team/russell/ast_channel_ao2/res/res_config_sqlite.c
team/russell/ast_channel_ao2/res/res_curl.c
team/russell/ast_channel_ao2/res/res_musiconhold.c
team/russell/ast_channel_ao2/res/res_odbc.c
team/russell/ast_channel_ao2/res/res_phoneprov.c
team/russell/ast_channel_ao2/res/res_snmp.c
team/russell/ast_channel_ao2/res/res_timing_dahdi.c
team/russell/ast_channel_ao2/res/res_timing_timerfd.c
team/russell/ast_channel_ao2/sounds/Makefile
team/russell/ast_channel_ao2/tests/test_sched.c
team/russell/ast_channel_ao2/utils/Makefile
team/russell/ast_channel_ao2/utils/astcanary.c
team/russell/ast_channel_ao2/utils/expr2.testinput
team/russell/ast_channel_ao2/utils/extconf.c
Propchange: team/russell/ast_channel_ao2/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.
Propchange: team/russell/ast_channel_ao2/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Propchange: team/russell/ast_channel_ao2/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Mar 19 15:02:23 2009
@@ -1,1 +1,1 @@
-/trunk:1-177208
+/trunk:1-183388
Modified: team/russell/ast_channel_ao2/CHANGES
URL: http://svn.digium.com/svn-view/asterisk/team/russell/ast_channel_ao2/CHANGES?view=diff&rev=183389&r1=183388&r2=183389
==============================================================================
--- team/russell/ast_channel_ao2/CHANGES (original)
+++ team/russell/ast_channel_ao2/CHANGES Thu Mar 19 15:02:23 2009
@@ -7,6 +7,20 @@
=== and the other UPGRADE files for older releases.
===
======================================================================
+
+------------------------------------------------------------------------------
+--- Functionality changes from Asterisk 1.6.2 to Asterisk 1.6.3 -------------
+------------------------------------------------------------------------------
+
+Applications
+------------
+ * Added progress option to the app_dial D() option. When progress DTMF is
+ present, those values are sent immediatly upon receiving a PROGRESS message
+ regardless if the call has been answered or not.
+
+Functions
+---------
+ * The CHANNEL() function now supports the "name" option.
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 1.6.1 to Asterisk 1.6.2 -------------
@@ -44,12 +58,20 @@
* The parsing of register => lines in sip.conf has been modified to allow a port
to be present in the "user" portion. Please see the sip.conf.sample file for more
information
+ * Added support for subscribing to MWI on a remote server and making the status available
+ as a mailbox. Please see the sip.conf.sample file for more information.
* Added a function to remove SIP headers added in the dialplan before the
first INVITE is generated - SIPRemoveHeader()
* Channel variables set with setvar= in a device configuration is now
set both for inbound and outbound calls.
* Added support for ITU G.722.1 and G.722.1C (Siren7 and Siren14) media streams.
+IAX2 changes
+------------
+ * Added immediate option to iax.conf
+ * Added forceencryption option to iax.conf
+ * Added Encryption and Trunk status to manager command "iaxpeers"
+
Skinny Changes
--------------
* The configuration file now holds separate sections for devices and lines.
@@ -58,6 +80,8 @@
DAHDI Changes
-------------
+ * chan_dahdi now supports MFC/R2 signaling when Asterisk is compiled with
+ support for LibOpenR2. http://www.libopenr2.org/
* The UK option waitfordialtone has been added for use with BT analog
lines.
* Added a 'faxbuffers' configuration option to chan_dahdi.conf. This option
@@ -92,6 +116,7 @@
of "core show function AES_ENCRYPT" from the CLI
* Added AES_DECRYPT. For information on its use, please see the output
of "core show function AES_DECRYPT" from the CLI
+ * func_odbc now supports database transactions across multiple queries.
Applications
------------
@@ -106,6 +131,11 @@
specified in the initial argument.
* A new application, Originate, has been introduced, that allows asynchronous
call origination from the dialplan.
+ * Voicemail now permits setting the emailsubject and emailbody per mailbox,
+ in addition to the setting in the "general" context.
+ * Added ConfBridge dialplan application which does conference bridges without
+ DAHDI. For information on its use, please see the output of
+ "core show application ConfBridge" from the CLI.
Miscellaneous
-------------
@@ -138,6 +168,12 @@
externhost and localnet settings.
* The Asterisk core now supports ITU G.722.1 and G.722.1C media streams, and
can connect calls in passthrough mode, as well as record and play back files.
+ * Successful and unsuccessful call pickup can now be alerted through sounds, by
+ using pickupsound and pickupfailsound in features.conf.
+ * ASTVARRUNDIR is now set to $(localstatedir)/run/asterisk by default.
+ This means the asterisk pid file will now be in /var/run/asterisk/asterisk.pid on LINUX
+ instead of the /var/run/asterisk.pid where it used to be. This will make
+ installs as non-root easier to manage.
Asterisk Manager Interface
--------------------------
@@ -153,6 +189,12 @@
Pragma: SuppressEvents
If this is included, the server supports event suppression.
+
+ * Added 4 new Actions to list skinny device(s) and line(s)
+ SKINNYdevices
+ SKINNYshowdevice
+ SKINNYlines
+ SKINNYshowline
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 1.6.0 to Asterisk 1.6.1 -------------
@@ -555,8 +597,6 @@
* Added the srvlookup option to iax.conf
* Added support for OSP. The token is set and retrieved through the CHANNEL()
dialplan function.
- * Added immediate option to iax.conf
- * Added forceencryption option to iax.conf
XMPP Google Talk/Jingle changes
-------------------------------
Modified: team/russell/ast_channel_ao2/CREDITS
URL: http://svn.digium.com/svn-view/asterisk/team/russell/ast_channel_ao2/CREDITS?view=diff&rev=183389&r1=183388&r2=183389
==============================================================================
--- team/russell/ast_channel_ao2/CREDITS (original)
+++ team/russell/ast_channel_ao2/CREDITS Thu Mar 19 15:02:23 2009
@@ -194,6 +194,9 @@
Klaus Darillon - the SIPremoveHeader function in chan_sip
+Moises Silva (moy) - for writing LibOpenR2, and providing support for it in chan_dahdi
+ moises.silva(AT)gmail.com
+
=== OTHER CONTRIBUTIONS ===
John Todd - Monkey sounds and associated teletorture prompt
Michael Jerris - bug marshaling
Modified: team/russell/ast_channel_ao2/Makefile
URL: http://svn.digium.com/svn-view/asterisk/team/russell/ast_channel_ao2/Makefile?view=diff&rev=183389&r1=183388&r2=183389
==============================================================================
--- team/russell/ast_channel_ao2/Makefile (original)
+++ team/russell/ast_channel_ao2/Makefile Thu Mar 19 15:02:23 2009
@@ -146,7 +146,7 @@
ASTSBINDIR=$(sbindir)
ASTSPOOLDIR=$(localstatedir)/spool/asterisk
ASTLOGDIR=$(localstatedir)/log/asterisk
- ASTVARRUNDIR=$(localstatedir)/run
+ ASTVARRUNDIR=$(localstatedir)/run/asterisk
ASTMANDIR=$(mandir)
ifneq ($(findstring BSD,$(OSARCH)),)
ASTVARLIBDIR=$(prefix)/share/asterisk
@@ -293,7 +293,7 @@
# value directly to ASTCFLAGS
ASTCFLAGS+=$(MALLOC_DEBUG)$(OPTIONS)
-MOD_SUBDIRS:=channels pbx apps codecs formats cdr funcs tests main res $(LOCAL_MOD_SUBDIRS)
+MOD_SUBDIRS:=channels pbx apps codecs formats cdr bridges funcs tests main res $(LOCAL_MOD_SUBDIRS)
OTHER_SUBDIRS:=utils agi
SUBDIRS:=$(OTHER_SUBDIRS) $(MOD_SUBDIRS)
SUBDIRS_INSTALL:=$(SUBDIRS:%=%-install)
@@ -805,22 +805,28 @@
config:
@if [ "${OSARCH}" = "linux-gnu" ]; then \
if [ -f /etc/redhat-release -o -f /etc/fedora-release ]; then \
- $(INSTALL) -m 755 contrib/init.d/rc.redhat.asterisk $(DESTDIR)/etc/rc.d/init.d/asterisk; \
+ cat contrib/init.d/rc.redhat.asterisk | sed 's|__ASTERISK_ETC_DIR__|$(ASTETCDIR)|;s|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > $(DESTDIR)/etc/rc.d/init.d/asterisk ;\
+ chmod 755 $(DESTDIR)/etc/rc.d/init.d/asterisk;\
if [ -z "$(DESTDIR)" ]; then /sbin/chkconfig --add asterisk; fi; \
elif [ -f /etc/debian_version ]; then \
- $(INSTALL) -m 755 contrib/init.d/rc.debian.asterisk $(DESTDIR)/etc/init.d/asterisk; \
+ cat contrib/init.d/rc.debian.asterisk | sed 's|__ASTERISK_ETC_DIR__|$(ASTETCDIR)|;s|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > $(DESTDIR)/etc/init.d/asterisk ;\
+ chmod 755 $(DESTDIR)/etc/init.d/asterisk;\
if [ -z "$(DESTDIR)" ]; then /usr/sbin/update-rc.d asterisk start 50 2 3 4 5 . stop 91 2 3 4 5 .; fi; \
elif [ -f /etc/gentoo-release ]; then \
- $(INSTALL) -m 755 contrib/init.d/rc.gentoo.asterisk $(DESTDIR)/etc/init.d/asterisk; \
+ cat contrib/init.d/rc.gentoo.asterisk | sed 's|__ASTERISK_ETC_DIR__|$(ASTETCDIR)|;s|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > $(DESTDIR)/etc/init.d/asterisk ;\
+ chmod 755 $(DESTDIR)/etc/init.d/asterisk;\
if [ -z "$(DESTDIR)" ]; then /sbin/rc-update add asterisk default; fi; \
elif [ -f /etc/mandrake-release -o -f /etc/mandriva-release ]; then \
- $(INSTALL) -m 755 contrib/init.d/rc.mandriva.asterisk $(DESTDIR)/etc/rc.d/init.d/asterisk; \
+ cat contrib/init.d/rc.mandriva.asterisk | sed 's|__ASTERISK_ETC_DIR__|$(ASTETCDIR)|;s|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > $(DESTDIR)/etc/rc.d/init.d/asterisk ;\
+ chmod 755 $(DESTDIR)/etc/rc.d/init.d/asterisk;\
if [ -z "$(DESTDIR)" ]; then /sbin/chkconfig --add asterisk; fi; \
elif [ -f /etc/SuSE-release -o -f /etc/novell-release ]; then \
- $(INSTALL) -m 755 contrib/init.d/rc.suse.asterisk $(DESTDIR)/etc/init.d/asterisk; \
+ cat contrib/init.d/rc.suse.asterisk | sed 's|__ASTERISK_ETC_DIR__|$(ASTETCDIR)|;s|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > $(DESTDIR)/etc/init.d/asterisk ;\
+ chmod 755 $(DESTDIR)/etc/init.d/asterisk;\
if [ -z "$(DESTDIR)" ]; then /sbin/chkconfig --add asterisk; fi; \
elif [ -f /etc/arch-release -o -f /etc/arch-release ]; then \
- $(INSTALL) -m 755 contrib/init.d/rc.archlinux.asterisk $(DESTDIR)/etc/rc.d/asterisk; \
+ cat contrib/init.d/rc.archlinux.asterisk | sed 's|__ASTERISK_ETC_DIR__|$(ASTETCDIR)|;s|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > $(DESTDIR)/etc/rc.d/asterisk ;\
+ chmod 755 $(DESTDIR)/etc/rc.d/asterisk;\
elif [ -f /etc/slackware-version ]; then \
echo "Slackware is not currently supported, although an init script does exist for it." \
else \
Modified: team/russell/ast_channel_ao2/Makefile.rules
URL: http://svn.digium.com/svn-view/asterisk/team/russell/ast_channel_ao2/Makefile.rules?view=diff&rev=183389&r1=183388&r2=183389
==============================================================================
--- team/russell/ast_channel_ao2/Makefile.rules (original)
+++ team/russell/ast_channel_ao2/Makefile.rules Thu Mar 19 15:02:23 2009
@@ -51,8 +51,13 @@
# 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)
+
+ifeq ($(GNU_LD),1)
+SO_SUPPRESS_SYMBOLS=-Wl,--version-script,$(if $(wildcard $(subst .so,.exports,$@)),$(subst .so,.exports,$@),$(ASTTOPDIR)/default.exports)
+endif
+
+CC_LDFLAGS_SO=$(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK) $(SO_SUPPRESS_SYMBOLS)
+CXX_LDFLAGS_SO=$(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK) $(SO_SUPPRESS_SYMBOLS)
CC_LIBS=$(PTHREAD_LIBS) $(LIBS)
CXX_LIBS=$(PTHREAD_LIBS) $(LIBS)
Modified: team/russell/ast_channel_ao2/README
URL: http://svn.digium.com/svn-view/asterisk/team/russell/ast_channel_ao2/README?view=diff&rev=183389&r1=183388&r2=183389
==============================================================================
--- team/russell/ast_channel_ao2/README (original)
+++ team/russell/ast_channel_ao2/README Thu Mar 19 15:02:23 2009
@@ -4,7 +4,7 @@
=== by Mark Spencer <markster at digium.com>
=== and the Asterisk.org developer community
===
-=== Copyright (C) 2001-2008 Digium, Inc.
+=== Copyright (C) 2001-2009 Digium, Inc.
=== and other copyright holders.
===============================================================================
@@ -68,8 +68,8 @@
* All Analog and Digital Interface cards from Digium (www.digium.com)
* QuickNet Internet PhoneJack and LineJack (http://www.quicknet.net)
* any full duplex sound card supported by ALSA, OSS, or PortAudio
- * any ISDN card supported by mISDN on Linux (BRI)
- * The Xorcom AstriBank channel bank
+ * any ISDN card supported by mISDN on Linux
+ * The Xorcom Astribank channel bank
* VoiceTronix OpenLine products
-------------------------------------------------------------------------------
Modified: team/russell/ast_channel_ao2/UPGRADE.txt
URL: http://svn.digium.com/svn-view/asterisk/team/russell/ast_channel_ao2/UPGRADE.txt?view=diff&rev=183389&r1=183388&r2=183389
==============================================================================
--- team/russell/ast_channel_ao2/UPGRADE.txt (original)
+++ team/russell/ast_channel_ao2/UPGRADE.txt Thu Mar 19 15:02:23 2009
@@ -17,6 +17,10 @@
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
===
===========================================================
+
+From 1.6.2 to 1.6.3:
+
+* Nothing, yet!
From 1.6.1 to 1.6.2:
@@ -45,6 +49,13 @@
operations.
From 1.6.0.x to 1.6.1:
+
+* In previous versions of Asterisk, due to the way objects were arranged in
+ memory by chan_sip, the order of entries in sip.conf could be adjusted to
+ control the behavior of matching against peers and users. The way objects
+ are managed has been significantly changed for reasons involving performance
+ and stability. A side effect of these changes is that the order of entries
+ in sip.conf can no longer be relied upon to control behavior.
* The following core commands dealing with dialplan have been deprecated: 'core
show globals', 'core set global' and 'core set chanvar'. Use the equivalent
Modified: team/russell/ast_channel_ao2/apps/app_dial.c
URL: http://svn.digium.com/svn-view/asterisk/team/russell/ast_channel_ao2/apps/app_dial.c?view=diff&rev=183389&r1=183388&r2=183389
==============================================================================
--- team/russell/ast_channel_ao2/apps/app_dial.c (original)
+++ team/russell/ast_channel_ao2/apps/app_dial.c Thu Mar 19 15:02:23 2009
@@ -109,11 +109,13 @@
<option name="D" argsep=":">
<argument name="called" />
<argument name="calling" />
+ <argument name="progress" />
<para>Send the specified DTMF strings <emphasis>after</emphasis> the called
party has answered, but before the call gets bridged. The
<replaceable>called</replaceable> DTMF string is sent to the called party, and the
<replaceable>calling</replaceable> DTMF string is sent to the calling party. Both arguments
- can be used alone.</para>
+ can be used alone. If <replaceable>progress</replaceable> is specified, its DTMF is sent
+ immediately after receiving a PROGRESS message.</para>
</option>
<option name="e">
<para>Execute the <literal>h</literal> extension for peer after the call ends</para>
@@ -524,8 +526,6 @@
AST_APP_OPTION('i', OPT_IGNORE_FORWARDING),
AST_APP_OPTION('k', OPT_CALLEE_PARK),
AST_APP_OPTION('K', OPT_CALLER_PARK),
- AST_APP_OPTION('k', OPT_CALLEE_PARK),
- AST_APP_OPTION('K', OPT_CALLER_PARK),
AST_APP_OPTION_ARG('L', OPT_DURATION_LIMIT, OPT_ARG_DURATION_LIMIT),
AST_APP_OPTION_ARG('m', OPT_MUSICBACK, OPT_ARG_MUSICBACK),
AST_APP_OPTION_ARG('M', OPT_CALLEE_MACRO, OPT_ARG_CALLEE_MACRO),
@@ -560,6 +560,7 @@
uint64_t flags;
};
+static int detect_disconnect(struct ast_channel *chan, char code, struct ast_str *featurecode);
static void hanguptree(struct chanlist *outgoing, struct ast_channel *exception, int answered_elsewhere)
{
@@ -798,7 +799,7 @@
static struct ast_channel *wait_for_answer(struct ast_channel *in,
struct chanlist *outgoing, int *to, struct ast_flags64 *peerflags,
struct privacy_args *pa,
- const struct cause_args *num_in, int *result)
+ const struct cause_args *num_in, int *result, char *dtmf_progress)
{
struct cause_args num = *num_in;
int prestart = num.busy + num.congestion + num.nochan;
@@ -809,7 +810,7 @@
#ifdef HAVE_EPOLL
struct chanlist *epollo;
#endif
-
+ struct ast_str *featurecode = ast_str_alloca(FEATURE_MAX_LEN + 1);
if (single) {
/* Turn off hold music, etc */
ast_deactivate_generator(in);
@@ -954,6 +955,10 @@
ast_channel_early_bridge(in, c);
if (!ast_test_flag64(outgoing, OPT_RINGBACK))
ast_indicate(in, AST_CONTROL_PROGRESS);
+ if(!ast_strlen_zero(dtmf_progress)) {
+ ast_verb(3, "Sending DTMF '%s' to the called party as result of receiving a PROGRESS message.\n", dtmf_progress);
+ ast_dtmf_stream(c, in, dtmf_progress, 250, 0);
+ }
break;
case AST_CONTROL_VIDUPDATE:
ast_verb(3, "%s requested a video update, passing it to %s\n", c->name, in->name);
@@ -1054,8 +1059,8 @@
}
if (ast_test_flag64(peerflags, OPT_CALLER_HANGUP) &&
- (f->subclass == '*')) { /* hmm it it not guaranteed to be '*' anymore. */
- ast_verb(3, "User hit %c to disconnect call.\n", f->subclass);
+ detect_disconnect(in, f->subclass, featurecode)) {
+ ast_verb(3, "User requested call disconnect.\n");
*to = 0;
strcpy(pa->status, "CANCEL");
ast_cdr_noanswer(in->cdr);
@@ -1097,6 +1102,26 @@
#endif
return peer;
+}
+
+static int detect_disconnect(struct ast_channel *chan, char code, struct ast_str *featurecode)
+{
+ struct ast_flags features = { AST_FEATURE_DISCONNECT }; /* only concerned with disconnect feature */
+ struct ast_call_feature feature;
+ int res;
+
+ ast_str_append(&featurecode, 1, "%c", code);
+
+ res = ast_feature_detect(chan, &features, ast_str_buffer(featurecode), &feature);
+
+ if (res != AST_FEATURE_RETURN_STOREDIGITS) {
+ ast_str_reset(featurecode);
+ }
+ if (feature.feature_mask & AST_FEATURE_DISCONNECT) {
+ return 1;
+ }
+
+ return 0;
}
static void replace_macro_delimiter(char *s)
@@ -1504,7 +1529,7 @@
struct ast_bridge_config config = { { 0, } };
struct timeval calldurationlimit = { 0, };
- char *dtmfcalled = NULL, *dtmfcalling = NULL;
+ char *dtmfcalled = NULL, *dtmfcalling = NULL, *dtmf_progress=NULL;
struct privacy_args pa = {
.sentringing = 0,
.privdb_val = 0,
@@ -1555,12 +1580,11 @@
goto done;
}
-
if (ast_test_flag64(&opts, OPT_OPERMODE)) {
opermode = ast_strlen_zero(opt_args[OPT_ARG_OPERMODE]) ? 1 : atoi(opt_args[OPT_ARG_OPERMODE]);
ast_verb(3, "Setting operator services mode to %d.\n", opermode);
}
-
+
if (ast_test_flag64(&opts, OPT_DURATION_STOP) && !ast_strlen_zero(opt_args[OPT_ARG_DURATION_STOP])) {
calldurationlimit.tv_sec = atoi(opt_args[OPT_ARG_DURATION_STOP]);
if (!calldurationlimit.tv_sec) {
@@ -1572,8 +1596,9 @@
}
if (ast_test_flag64(&opts, OPT_SENDDTMF) && !ast_strlen_zero(opt_args[OPT_ARG_SENDDTMF])) {
- dtmfcalling = opt_args[OPT_ARG_SENDDTMF];
- dtmfcalled = strsep(&dtmfcalling, ":");
+ dtmf_progress = opt_args[OPT_ARG_SENDDTMF];
+ dtmfcalled = strsep(&dtmf_progress, ":");
+ dtmfcalling = strsep(&dtmf_progress, ":");
}
if (ast_test_flag64(&opts, OPT_DURATION_LIMIT) && !ast_strlen_zero(opt_args[OPT_ARG_DURATION_LIMIT])) {
@@ -1593,7 +1618,7 @@
res = -1; /* reset default */
}
- if (ast_test_flag64(&opts, OPT_DTMF_EXIT)) {
+ if (ast_test_flag64(&opts, OPT_DTMF_EXIT) || ast_test_flag64(&opts, OPT_CALLER_HANGUP)) {
__ast_answer(chan, 0, 0);
}
@@ -1840,7 +1865,7 @@
}
}
- peer = wait_for_answer(chan, outgoing, &to, peerflags, &pa, &num, &result);
+ peer = wait_for_answer(chan, outgoing, &to, peerflags, &pa, &num, &result, dtmf_progress);
/* The ast_channel_datastore_remove() function could fail here if the
* datastore was moved to another channel during a masquerade. If this is
@@ -2270,10 +2295,12 @@
parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);
- if ((sleepms = atoi(args.sleep)))
+ if (!ast_strlen_zero(args.sleep) && (sleepms = atoi(args.sleep)))
sleepms *= 1000;
- loops = atoi(args.retries);
+ if (!ast_strlen_zero(args.retries)) {
+ loops = atoi(args.retries);
+ }
if (!args.dialdata) {
ast_log(LOG_ERROR, "%s requires a 4th argument (dialdata)\n", rapp);
Modified: team/russell/ast_channel_ao2/apps/app_directed_pickup.c
URL: http://svn.digium.com/svn-view/asterisk/team/russell/ast_channel_ao2/apps/app_directed_pickup.c?view=diff&rev=183389&r1=183388&r2=183389
==============================================================================
--- team/russell/ast_channel_ao2/apps/app_directed_pickup.c (original)
+++ team/russell/ast_channel_ao2/apps/app_directed_pickup.c Thu Mar 19 15:02:23 2009
@@ -171,9 +171,9 @@
/* Just check that we are not picking up the SAME as target */
if (chan->name != target->name && chan != target) {
res = pickup_do(chan, target);
- ast_channel_unlock(target);
target = ast_channel_unref(target);
}
+ ast_channel_unlock(target);
return res;
}
Modified: team/russell/ast_channel_ao2/apps/app_fax.c
URL: http://svn.digium.com/svn-view/asterisk/team/russell/ast_channel_ao2/apps/app_fax.c?view=diff&rev=183389&r1=183388&r2=183389
==============================================================================
--- team/russell/ast_channel_ao2/apps/app_fax.c (original)
+++ team/russell/ast_channel_ao2/apps/app_fax.c Thu Mar 19 15:02:23 2009
@@ -206,6 +206,7 @@
char buf[20];
fax_session *s = (fax_session *) user_data;
t30_stats_t stat;
+ int pages_transferred;
ast_debug(1, "Fax phase E handler. result=%d\n", result);
@@ -231,7 +232,12 @@
pbx_builtin_setvar_helper(s->chan, "FAXSTATUS", "SUCCESS");
pbx_builtin_setvar_helper(s->chan, "FAXERROR", NULL);
pbx_builtin_setvar_helper(s->chan, "REMOTESTATIONID", far_ident);
- snprintf(buf, sizeof(buf), "%d", stat.pages_transferred);
+#if SPANDSP_RELEASE_DATE >= 20090220
+ pages_transferred = (s->direction) ? stat.pages_tx : stat.pages_rx;
+#else
+ pages_transferred = stat.pages_transferred;
+#endif
+ snprintf(buf, sizeof(buf), "%d", pages_transferred);
pbx_builtin_setvar_helper(s->chan, "FAXPAGES", buf);
snprintf(buf, sizeof(buf), "%d", stat.y_resolution);
pbx_builtin_setvar_helper(s->chan, "FAXRESOLUTION", buf);
@@ -240,7 +246,7 @@
ast_debug(1, "Fax transmitted successfully.\n");
ast_debug(1, " Remote station ID: %s\n", far_ident);
- ast_debug(1, " Pages transferred: %d\n", stat.pages_transferred);
+ ast_debug(1, " Pages transferred: %d\n", pages_transferred);
ast_debug(1, " Image resolution: %d x %d\n", stat.x_resolution, stat.y_resolution);
ast_debug(1, " Transfer Rate: %d\n", stat.bit_rate);
@@ -260,7 +266,7 @@
S_OR(s->chan->cid.cid_num, ""),
far_ident,
local_ident,
- stat.pages_transferred,
+ pages_transferred,
stat.y_resolution,
stat.bit_rate,
s->file_name);
Modified: team/russell/ast_channel_ao2/apps/app_meetme.c
URL: http://svn.digium.com/svn-view/asterisk/team/russell/ast_channel_ao2/apps/app_meetme.c?view=diff&rev=183389&r1=183388&r2=183389
==============================================================================
--- team/russell/ast_channel_ao2/apps/app_meetme.c (original)
+++ team/russell/ast_channel_ao2/apps/app_meetme.c Thu Mar 19 15:02:23 2009
@@ -2659,8 +2659,6 @@
}
}
- c = ast_waitfor_nandfds(&chan, 1, &fd, nfds, NULL, &outfd, &ms);
-
/* Update the struct with the actual confflags */
user->userflags = confflags;
@@ -2822,6 +2820,8 @@
if (ast_check_hangup(chan)) {
break;
}
+
+ c = ast_waitfor_nandfds(&chan, 1, &fd, nfds, NULL, &outfd, &ms);
if (c) {
char dtmfstr[2] = "";
@@ -3347,6 +3347,8 @@
char *pin = NULL, *pinadmin = NULL; /* For temp use */
int maxusers = 0;
struct timeval now;
+ char recordingfilename[256] = "";
+ char recordingformat[10] = "";
char currenttime[19] = "";
char eatime[19] = "";
char bookid[19] = "";
@@ -3355,6 +3357,7 @@
char adminopts[OPTIONS_LEN];
struct ast_tm tm, etm;
struct timeval endtime = { .tv_sec = 0 };
+ const char *var2;
if (rt_schedule) {
now = ast_tvnow();
@@ -3420,6 +3423,10 @@
maxusers = atoi(var->value);
} else if (!strcasecmp(var->name, "adminopts")) {
ast_copy_string(adminopts, var->value, sizeof(char[OPTIONS_LEN]));
+ } else if (!strcasecmp(var->name, "recordingfilename")) {
+ ast_copy_string(recordingfilename, var->value, sizeof(recordingfilename));
+ } else if (!strcasecmp(var->name, "recordingformat")) {
+ ast_copy_string(recordingformat, var->value, sizeof(recordingformat));
} else if (!strcasecmp(var->name, "endtime")) {
struct ast_tm endtime_tm;
ast_strptime(var->value, "%Y-%m-%d %H:%M:%S", &endtime_tm);
@@ -3438,9 +3445,37 @@
cnf->useropts = ast_strdup(useropts);
cnf->adminopts = ast_strdup(adminopts);
cnf->bookid = ast_strdup(bookid);
- snprintf(recordingtmp, sizeof(recordingtmp), "%s/meetme/meetme-conf-rec-%s-%s", ast_config_AST_SPOOL_DIR, confno, bookid);
- cnf->recordingfilename = ast_strdup(recordingtmp);
- cnf->recordingformat = ast_strdup("wav");
+ cnf->recordingfilename = ast_strdup(recordingfilename);
+ cnf->recordingformat = ast_strdup(recordingformat);
+
+ if (strchr(cnf->useropts, 'r')) {
+ if (ast_strlen_zero(recordingfilename)) { /* If the recordingfilename in the database is empty, use the channel definition or use the default. */
+ ast_channel_lock(chan);
+ if ((var2 = pbx_builtin_getvar_helper(chan, "MEETME_RECORDINGFILE"))) {
+ ast_free(cnf->recordingfilename);
+ cnf->recordingfilename = ast_strdup(var2);
+ }
+ ast_channel_unlock(chan);
+ if (ast_strlen_zero(cnf->recordingfilename)) {
+ snprintf(recordingtmp, sizeof(recordingtmp), "meetme-conf-rec-%s-%s", cnf->confno, chan->uniqueid);
+ ast_free(cnf->recordingfilename);
+ cnf->recordingfilename = ast_strdup(recordingtmp);
+ }
+ }
+ if (ast_strlen_zero(cnf->recordingformat)) {/* If the recording format is empty, use the wav as default */
+ ast_channel_lock(chan);
+ if ((var2 = pbx_builtin_getvar_helper(chan, "MEETME_RECORDINGFORMAT"))) {
+ ast_free(cnf->recordingformat);
+ cnf->recordingformat = ast_strdup(var2);
+ }
+ ast_channel_unlock(chan);
+ if (ast_strlen_zero(cnf->recordingformat)) {
+ ast_free(cnf->recordingformat);
+ cnf->recordingformat = ast_strdup("wav");
+ }
+ }
+ ast_verb(4, "Starting recording of MeetMe Conference %s into file %s.%s.\n", cnf->confno, cnf->recordingfilename, cnf->recordingformat);
+ }
}
}
@@ -3816,6 +3851,7 @@
}
}
/* Run the conference */
[... 26200 lines stripped ...]
More information about the asterisk-commits
mailing list