[asterisk-commits] mnicholson: branch group/newcdr r190081 - in /team/group/newcdr: ./ agi/ apps...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Apr 22 16:22:55 CDT 2009
Author: mnicholson
Date: Wed Apr 22 16:22:36 2009
New Revision: 190081
URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=190081
Log:
Resolved merge conflicts and reenabled automerge.
Added:
team/group/newcdr/apps/app_confbridge.c
- copied, changed from r189951, trunk/apps/app_confbridge.c
team/group/newcdr/bridges/ (props changed)
- copied from r189951, trunk/bridges/
team/group/newcdr/bridges/Makefile
- copied unchanged from r189951, trunk/bridges/Makefile
team/group/newcdr/bridges/bridge_builtin_features.c
- copied, changed from r189951, trunk/bridges/bridge_builtin_features.c
team/group/newcdr/bridges/bridge_multiplexed.c
- copied unchanged from r189951, trunk/bridges/bridge_multiplexed.c
team/group/newcdr/bridges/bridge_simple.c
- copied unchanged from r189951, trunk/bridges/bridge_simple.c
team/group/newcdr/bridges/bridge_softmix.c
- copied unchanged from r189951, trunk/bridges/bridge_softmix.c
team/group/newcdr/channels/chan_bridge.c
- copied, changed from r189951, trunk/channels/chan_bridge.c
team/group/newcdr/default.exports
- copied unchanged from r189951, trunk/default.exports
team/group/newcdr/doc/google-soc2009-ideas.txt
- copied unchanged from r189951, trunk/doc/google-soc2009-ideas.txt
team/group/newcdr/funcs/func_connectedline.c
- copied unchanged from r189951, trunk/funcs/func_connectedline.c
team/group/newcdr/funcs/func_redirecting.c
- copied unchanged from r189951, trunk/funcs/func_redirecting.c
team/group/newcdr/include/asterisk/bridging.h
- copied unchanged from r189951, trunk/include/asterisk/bridging.h
team/group/newcdr/include/asterisk/bridging_features.h
- copied unchanged from r189951, trunk/include/asterisk/bridging_features.h
team/group/newcdr/include/asterisk/bridging_technology.h
- copied unchanged from r189951, trunk/include/asterisk/bridging_technology.h
team/group/newcdr/include/asterisk/doxygen/
- copied from r189951, trunk/include/asterisk/doxygen/
team/group/newcdr/include/asterisk/doxygen/commits.h
- copied unchanged from r189951, trunk/include/asterisk/doxygen/commits.h
team/group/newcdr/include/asterisk/doxygen/licensing.h
- copied unchanged from r189951, trunk/include/asterisk/doxygen/licensing.h
team/group/newcdr/include/asterisk/doxygen/releases.h
- copied unchanged from r189951, trunk/include/asterisk/doxygen/releases.h
team/group/newcdr/include/asterisk/doxygen/reviewboard.h
- copied unchanged from r189951, trunk/include/asterisk/doxygen/reviewboard.h
team/group/newcdr/include/asterisk/rtp_engine.h
- copied unchanged from r189951, trunk/include/asterisk/rtp_engine.h
team/group/newcdr/include/asterisk/stun.h
- copied unchanged from r189951, trunk/include/asterisk/stun.h
team/group/newcdr/main/asterisk.exports
- copied unchanged from r189951, trunk/main/asterisk.exports
team/group/newcdr/main/astfd.c
- copied unchanged from r189951, trunk/main/astfd.c
team/group/newcdr/main/bridging.c
- copied unchanged from r189951, trunk/main/bridging.c
team/group/newcdr/main/rtp_engine.c
- copied unchanged from r189951, trunk/main/rtp_engine.c
team/group/newcdr/main/stun.c
- copied unchanged from r189951, trunk/main/stun.c
team/group/newcdr/res/res_adsi.exports
- copied unchanged from r189951, trunk/res/res_adsi.exports
team/group/newcdr/res/res_ael_share.exports
- copied unchanged from r189951, trunk/res/res_ael_share.exports
team/group/newcdr/res/res_agi.exports
- copied unchanged from r189951, trunk/res/res_agi.exports
team/group/newcdr/res/res_features.exports
- copied unchanged from r189951, trunk/res/res_features.exports
team/group/newcdr/res/res_jabber.exports
- copied unchanged from r189951, trunk/res/res_jabber.exports
team/group/newcdr/res/res_monitor.exports
- copied unchanged from r189951, trunk/res/res_monitor.exports
team/group/newcdr/res/res_odbc.exports
- copied unchanged from r189951, trunk/res/res_odbc.exports
team/group/newcdr/res/res_rtp_asterisk.c
- copied unchanged from r189951, trunk/res/res_rtp_asterisk.c
team/group/newcdr/res/res_smdi.exports
- copied unchanged from r189951, trunk/res/res_smdi.exports
team/group/newcdr/res/res_speech.exports
- copied unchanged from r189951, trunk/res/res_speech.exports
Removed:
team/group/newcdr/build_tools/strip_nonapi
team/group/newcdr/include/asterisk/rtp.h
team/group/newcdr/main/rtp.c
Modified:
team/group/newcdr/ (props changed)
team/group/newcdr/CHANGES
team/group/newcdr/CREDITS
team/group/newcdr/Makefile
team/group/newcdr/Makefile.rules
team/group/newcdr/UPGRADE.txt
team/group/newcdr/agi/Makefile
team/group/newcdr/apps/app_dial.c
team/group/newcdr/apps/app_directed_pickup.c
team/group/newcdr/apps/app_dumpchan.c
team/group/newcdr/apps/app_followme.c
team/group/newcdr/apps/app_ices.c
team/group/newcdr/apps/app_jack.c
team/group/newcdr/apps/app_macro.c
team/group/newcdr/apps/app_minivm.c
team/group/newcdr/apps/app_mp3.c
team/group/newcdr/apps/app_nbscat.c
team/group/newcdr/apps/app_queue.c
team/group/newcdr/apps/app_senddtmf.c
team/group/newcdr/apps/app_sendtext.c
team/group/newcdr/apps/app_test.c
team/group/newcdr/apps/app_voicemail.c
team/group/newcdr/autoconf/ast_check_gnu_make.m4
team/group/newcdr/autoconf/ast_check_openh323.m4
team/group/newcdr/autoconf/ast_ext_lib.m4
team/group/newcdr/autoconf/ast_prog_sed.m4
team/group/newcdr/build_tools/cflags.xml
team/group/newcdr/build_tools/embed_modules.xml
team/group/newcdr/build_tools/make_version
team/group/newcdr/cdr/cdr_radius.c
team/group/newcdr/channels/Makefile
team/group/newcdr/channels/chan_agent.c
team/group/newcdr/channels/chan_alsa.c
team/group/newcdr/channels/chan_dahdi.c
team/group/newcdr/channels/chan_gtalk.c
team/group/newcdr/channels/chan_h323.c
team/group/newcdr/channels/chan_iax2.c
team/group/newcdr/channels/chan_jingle.c
team/group/newcdr/channels/chan_local.c
team/group/newcdr/channels/chan_mgcp.c
team/group/newcdr/channels/chan_misdn.c
team/group/newcdr/channels/chan_phone.c
team/group/newcdr/channels/chan_sip.c
team/group/newcdr/channels/chan_skinny.c
team/group/newcdr/channels/chan_unistim.c
team/group/newcdr/channels/h323/Makefile.in
team/group/newcdr/channels/h323/ast_h323.cxx
team/group/newcdr/channels/h323/ast_h323.h
team/group/newcdr/channels/h323/chan_h323.h
team/group/newcdr/channels/h323/compat_h323.cxx
team/group/newcdr/channels/h323/compat_h323.h
team/group/newcdr/channels/iax2-parser.h
team/group/newcdr/channels/misdn/Makefile
team/group/newcdr/channels/misdn/chan_misdn_config.h
team/group/newcdr/channels/misdn/ie.c
team/group/newcdr/channels/misdn/isdn_lib.c
team/group/newcdr/channels/misdn/isdn_lib.h
team/group/newcdr/channels/misdn/isdn_lib_intern.h
team/group/newcdr/channels/misdn/isdn_msg_parser.c
team/group/newcdr/channels/misdn/portinfo.c
team/group/newcdr/channels/misdn_config.c
team/group/newcdr/configs/chan_dahdi.conf.sample
team/group/newcdr/configs/features.conf.sample
team/group/newcdr/configs/misdn.conf.sample
team/group/newcdr/configs/sip.conf.sample
team/group/newcdr/configs/voicemail.conf.sample
team/group/newcdr/configure
team/group/newcdr/configure.ac
team/group/newcdr/contrib/asterisk-ng-doxygen
team/group/newcdr/contrib/scripts/get_ilbc_source.sh
team/group/newcdr/contrib/scripts/realtime_pgsql.sql
team/group/newcdr/contrib/scripts/sip-friends.sql
team/group/newcdr/doc/manager_1_1.txt
team/group/newcdr/doc/tex/channelvariables.tex
team/group/newcdr/formats/format_wav.c
team/group/newcdr/formats/format_wav_gsm.c
team/group/newcdr/funcs/func_channel.c
team/group/newcdr/funcs/func_env.c
team/group/newcdr/funcs/func_odbc.c
team/group/newcdr/include/asterisk.h
team/group/newcdr/include/asterisk/_private.h
team/group/newcdr/include/asterisk/app.h
team/group/newcdr/include/asterisk/astmm.h
team/group/newcdr/include/asterisk/astobj2.h
team/group/newcdr/include/asterisk/audiohook.h
team/group/newcdr/include/asterisk/autoconfig.h.in
team/group/newcdr/include/asterisk/callerid.h
team/group/newcdr/include/asterisk/channel.h
team/group/newcdr/include/asterisk/compat.h
team/group/newcdr/include/asterisk/config.h
team/group/newcdr/include/asterisk/crypto.h
team/group/newcdr/include/asterisk/datastore.h
team/group/newcdr/include/asterisk/devicestate.h
team/group/newcdr/include/asterisk/dlinkedlists.h
team/group/newcdr/include/asterisk/dnsmgr.h
team/group/newcdr/include/asterisk/doxyref.h
team/group/newcdr/include/asterisk/dsp.h
team/group/newcdr/include/asterisk/enum.h
team/group/newcdr/include/asterisk/event.h
team/group/newcdr/include/asterisk/extconf.h
team/group/newcdr/include/asterisk/features.h
team/group/newcdr/include/asterisk/frame.h
team/group/newcdr/include/asterisk/hashtab.h
team/group/newcdr/include/asterisk/heap.h
team/group/newcdr/include/asterisk/http.h
team/group/newcdr/include/asterisk/io.h
team/group/newcdr/include/asterisk/linkedlists.h
team/group/newcdr/include/asterisk/lock.h
team/group/newcdr/include/asterisk/logger.h
team/group/newcdr/include/asterisk/manager.h
team/group/newcdr/include/asterisk/pbx.h
team/group/newcdr/include/asterisk/poll-compat.h
team/group/newcdr/include/asterisk/res_odbc.h
team/group/newcdr/include/asterisk/sched.h
team/group/newcdr/include/asterisk/stringfields.h
team/group/newcdr/include/asterisk/strings.h
team/group/newcdr/include/asterisk/taskprocessor.h
team/group/newcdr/include/asterisk/tcptls.h
team/group/newcdr/include/asterisk/timing.h
team/group/newcdr/include/asterisk/udptl.h
team/group/newcdr/include/asterisk/utils.h
team/group/newcdr/main/Makefile
team/group/newcdr/main/app.c
team/group/newcdr/main/ast_expr2f.c
team/group/newcdr/main/asterisk.c
team/group/newcdr/main/astobj2.c
team/group/newcdr/main/audiohook.c
team/group/newcdr/main/callerid.c
team/group/newcdr/main/channel.c
team/group/newcdr/main/cli.c
team/group/newcdr/main/db.c
team/group/newcdr/main/db1-ast/recno/rec_open.c
team/group/newcdr/main/devicestate.c
team/group/newcdr/main/dial.c
team/group/newcdr/main/enum.c
team/group/newcdr/main/event.c
team/group/newcdr/main/features.c
team/group/newcdr/main/file.c
team/group/newcdr/main/frame.c
team/group/newcdr/main/hashtab.c
team/group/newcdr/main/heap.c
team/group/newcdr/main/http.c
team/group/newcdr/main/io.c
team/group/newcdr/main/loader.c
team/group/newcdr/main/manager.c
team/group/newcdr/main/pbx.c
team/group/newcdr/main/poll.c
team/group/newcdr/main/stdtime/localtime.c
team/group/newcdr/main/strings.c
team/group/newcdr/main/taskprocessor.c
team/group/newcdr/main/tcptls.c
team/group/newcdr/main/tdd.c
team/group/newcdr/main/timing.c
team/group/newcdr/main/translate.c
team/group/newcdr/main/utils.c
team/group/newcdr/main/xmldoc.c
team/group/newcdr/makeopts.in
team/group/newcdr/pbx/pbx_config.c
team/group/newcdr/pbx/pbx_dundi.c
team/group/newcdr/res/ael/ael.tab.c
team/group/newcdr/res/ael/ael.y
team/group/newcdr/res/ais/evt.c
team/group/newcdr/res/res_agi.c
team/group/newcdr/res/res_config_ldap.c
team/group/newcdr/res/res_config_odbc.c
team/group/newcdr/res/res_config_pgsql.c
team/group/newcdr/res/res_config_sqlite.c
team/group/newcdr/res/res_curl.c
team/group/newcdr/res/res_monitor.c
team/group/newcdr/res/res_musiconhold.c
team/group/newcdr/res/res_odbc.c
team/group/newcdr/res/res_phoneprov.c
team/group/newcdr/res/res_snmp.c
team/group/newcdr/sounds/Makefile
team/group/newcdr/tests/test_heap.c
team/group/newcdr/tests/test_sched.c
team/group/newcdr/utils/ (props changed)
team/group/newcdr/utils/Makefile
team/group/newcdr/utils/extconf.c
team/group/newcdr/utils/muted.c
team/group/newcdr/utils/smsq.c
Propchange: team/group/newcdr/
------------------------------------------------------------------------------
automerge = on
Propchange: team/group/newcdr/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.
Propchange: team/group/newcdr/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Propchange: team/group/newcdr/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed Apr 22 16:22:36 2009
@@ -1,1 +1,1 @@
-/trunk:1-180343
+/trunk:1-189987
Modified: team/group/newcdr/CHANGES
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/CHANGES?view=diff&rev=190081&r1=190080&r2=190081
==============================================================================
--- team/group/newcdr/CHANGES (original)
+++ team/group/newcdr/CHANGES Wed Apr 22 16:22:36 2009
@@ -7,6 +7,91 @@
=== and the other UPGRADE files for older releases.
===
======================================================================
+------------------------------------------------------------------------------
+--- Functionality changes from Asterisk 1.6.2 to Asterisk 1.6.3 -------------
+------------------------------------------------------------------------------
+
+
+
+SIP Changes
+-----------
+ * Added preferred_codec_only option in sip.conf. This feature limits the joint
+ codecs sent in response to an INVITE to the single most preferred codec.
+ * Added SIP_CODEC_OUTBOUND dialplan variable which can be used to set the codec
+ to be used for the outgoing call. It must be one of the codecs configured
+ for the device.
+
+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.
+ * Added functionality to the app_dial F() option to continue with execution
+ at the current location when no parameters are provided.
+
+Dialplan Functions
+------------------
+ * Added new dialplan functions CONNECTEDLINE and REDIRECTING which permits
+ setting various connected line and redirecting party information.
+ * The CHANNEL() function now supports the "name" option.
+
+Queue changes
+-------------
+ * A new option, 'I' has been added to both app_queue and app_dial.
+ By setting this option, Asterisk will not update the caller with
+ connected line changes or redirecting party changes when they occur.
+
+mISDN channel driver (chan_misdn) changes
+----------------------------------------
+ * Added display_connected parameter to misdn.conf to put a display string
+ in the CONNECT message containing the connected name and/or number if
+ the presentation setting permits it.
+ * Added display_setup parameter to misdn.conf to put a display string
+ in the SETUP message containing the caller name and/or number if the
+ presentation setting permits it.
+ * Made misdn.conf parameters localdialplan and cpndialplan take a -1 to
+ indicate the dialplan settings are to be obtained from the asterisk
+ channel.
+ * Made misdn.conf parameter callerid accept the "name" <number> format
+ used by the rest of the system.
+ * Made use the nationalprefix and internationalprefix misdn.conf
+ parameters to prefix any received number from the ISDN link if that
+ number has the corresponding Type-Of-Number.
+ * Added the following new parameters: unknownprefix, netspecificprefix,
+ subscriberprefix, and abbreviatedprefix in misdn.conf to prefix any
+ received number from the ISDN link if that number has the corresponding
+ Type-Of-Number.
+ * Added new dialplan application misdn_command which permits controlling
+ the CCBS/CCNR functionality.
+ * Added new dialplan function mISDN_CC which permits retrieval of various
+ values from an active call completion record.
+
+thirdparty mISDN enhancements
+-----------------------------
+mISDN has been modified by Digium, Inc. to greatly expand facility message
+support to allow:
+ * Enhanced COLP support for call diversion and transfer.
+ * CCBS/CCNR support.
+
+The latest modified mISDN v1.1.x based version is available at:
+http://svn.digium.com/svn/thirdparty/mISDN/trunk
+http://svn.digium.com/svn/thirdparty/mISDNuser/trunk
+
+Taged versions of the modified mISDN code are available under:
+http://svn.digium.com/svn/thirdparty/mISDN/tags
+http://svn.digium.com/svn/thirdparty/mISDNuser/tags
+
+SIP channel driver (chan_sip) changes
+-------------------------------------------
+ * The sendrpid parameter has been expanded to include the options
+ 'rpid' and 'pai'. Setting sendrpid to 'rpid' will cause Remote-Party-ID
+ header to be sent (equivalent to setting sendrpid=yes) and setting
+ sendrpid to 'pai' will cause P-Asserted-Identity header to be sent.
+
+Asterisk Manager Interface
+--------------------------
+ * The Hangup action now accepts a Cause header which may be used to
+ set the channel's hangup cause.
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 1.6.1 to Asterisk 1.6.2 -------------
@@ -66,6 +151,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
@@ -75,6 +162,7 @@
and a 'full' buffer policy for a fax transmission, add:
faxbuffers=>6,full
The faxbuffers configuration will be in affect until the call is torn down.
+ * Added service message support for 4ESS/5ESS switches.
Dialplan Functions
------------------
@@ -117,6 +205,9 @@
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
-------------
@@ -151,6 +242,10 @@
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
--------------------------
Modified: team/group/newcdr/CREDITS
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/CREDITS?view=diff&rev=190081&r1=190080&r2=190081
==============================================================================
--- team/group/newcdr/CREDITS (original)
+++ team/group/newcdr/CREDITS Wed Apr 22 16:22:36 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/group/newcdr/Makefile
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/Makefile?view=diff&rev=190081&r1=190080&r2=190081
==============================================================================
--- team/group/newcdr/Makefile (original)
+++ team/group/newcdr/Makefile Wed Apr 22 16:22:36 2009
@@ -293,7 +293,7 @@
# value directly to ASTCFLAGS
ASTCFLAGS+=$(MALLOC_DEBUG)$(OPTIONS)
-MOD_SUBDIRS:=channels pbx apps codecs formats cdr cel funcs tests main res $(LOCAL_MOD_SUBDIRS)
+MOD_SUBDIRS:=channels pbx apps codecs formats cdr cel bridges funcs tests main res $(LOCAL_MOD_SUBDIRS)
OTHER_SUBDIRS:=utils agi
SUBDIRS:=$(OTHER_SUBDIRS) $(MOD_SUBDIRS)
SUBDIRS_INSTALL:=$(SUBDIRS:%=%-install)
@@ -559,8 +559,10 @@
chmod 755 $(DESTDIR)$(ASTSBINDIR)/safe_asterisk;\
fi
$(INSTALL) -d $(DESTDIR)$(ASTHEADERDIR)
+ $(INSTALL) -d $(DESTDIR)$(ASTHEADERDIR)/doxygen
$(INSTALL) -m 644 include/asterisk.h $(DESTDIR)$(includedir)
$(INSTALL) -m 644 include/asterisk/*.h $(DESTDIR)$(ASTHEADERDIR)
+ $(INSTALL) -m 644 include/asterisk/doxygen/*.h $(DESTDIR)$(ASTHEADERDIR)/doxygen
if [ -n "$(OLDHEADERS)" ]; then \
rm -f $(addprefix $(DESTDIR)$(ASTHEADERDIR)/,$(OLDHEADERS)) ;\
fi
@@ -807,27 +809,27 @@
config:
@if [ "${OSARCH}" = "linux-gnu" ]; then \
if [ -f /etc/redhat-release -o -f /etc/fedora-release ]; then \
- 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 ;\
+ 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 \
- 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 ;\
+ 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 \
- 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 ;\
+ 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 \
- 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 ;\
+ 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 \
- 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 ;\
+ 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 \
- 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 ;\
+ 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." \
Modified: team/group/newcdr/Makefile.rules
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/Makefile.rules?view=diff&rev=190081&r1=190080&r2=190081
==============================================================================
--- team/group/newcdr/Makefile.rules (original)
+++ team/group/newcdr/Makefile.rules Wed Apr 22 16:22:36 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/group/newcdr/UPGRADE.txt
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/UPGRADE.txt?view=diff&rev=190081&r1=190080&r2=190081
==============================================================================
--- team/group/newcdr/UPGRADE.txt (original)
+++ team/group/newcdr/UPGRADE.txt Wed Apr 22 16:22:36 2009
@@ -17,6 +17,14 @@
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
===
===========================================================
+
+From 1.6.2 to 1.6.3:
+
+* The usage of RTP inside of Asterisk has now become modularized. This means
+ the Asterisk RTP stack now exists as a loadable module, res_rtp_asterisk.
+ If you are not using autoload=yes in modules.conf you will need to ensure
+ it is set to load. If not, then any module which uses RTP (such as chan_sip)
+ will not be able to send or receive calls.
From 1.6.1 to 1.6.2:
Modified: team/group/newcdr/agi/Makefile
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/agi/Makefile?view=diff&rev=190081&r1=190080&r2=190081
==============================================================================
--- team/group/newcdr/agi/Makefile (original)
+++ team/group/newcdr/agi/Makefile Wed Apr 22 16:22:36 2009
@@ -24,6 +24,8 @@
endif
include $(ASTTOPDIR)/Makefile.rules
+
+ASTCFLAGS+=-DSTANDALONE
all: $(AGIS)
Copied: team/group/newcdr/apps/app_confbridge.c (from r189951, trunk/apps/app_confbridge.c)
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/apps/app_confbridge.c?view=diff&rev=190081&p1=trunk/apps/app_confbridge.c&r1=189951&p2=team/group/newcdr/apps/app_confbridge.c&r2=190081
==============================================================================
--- trunk/apps/app_confbridge.c (original)
+++ team/group/newcdr/apps/app_confbridge.c Wed Apr 22 16:22:36 2009
@@ -559,7 +559,7 @@
if (!(conference_bridge->playback_chan)) {
int cause;
- if (!(conference_bridge->playback_chan = ast_request("Bridge", AST_FORMAT_SLINEAR, "", &cause))) {
+ if (!(conference_bridge->playback_chan = ast_request("Bridge", AST_FORMAT_SLINEAR, NULL, "", &cause))) {
ast_mutex_unlock(&conference_bridge->playback_lock);
return -1;
}
Modified: team/group/newcdr/apps/app_dial.c
URL: http://svn.digium.com/svn-view/asterisk/team/group/newcdr/apps/app_dial.c?view=diff&rev=190081&r1=190080&r2=190081
==============================================================================
--- team/group/newcdr/apps/app_dial.c (original)
+++ team/group/newcdr/apps/app_dial.c Wed Apr 22 16:22:36 2009
@@ -54,7 +54,7 @@
#include "asterisk/utils.h"
#include "asterisk/app.h"
#include "asterisk/causes.h"
-#include "asterisk/rtp.h"
+#include "asterisk/rtp_engine.h"
#include "asterisk/cdr.h"
#include "asterisk/manager.h"
#include "asterisk/privacy.h"
@@ -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>
@@ -130,6 +132,10 @@
<argument name="priority" required="true" />
<para>When the caller hangs up, transfer the called party
to the specified destination and continue execution at that location.</para>
+ </option>
+ <option name="F">
+ <para>Proceed with dialplan execution at the next priority in the current extension if the
+ source channel hangs up.</para>
</option>
<option name="g">
<para>Proceed with dialplan execution at the next priority in the current extension if the
@@ -154,6 +160,10 @@
</option>
<option name="i">
<para>Asterisk will ignore any forwarding requests it may receive on this dial attempt.</para>
+ </option>
+ <option name="I">
+ <para>Asterisk will ignore any connected line update requests or redirecting party update
+ requests it may receiveon this dial attempt.</para>
</option>
<option name="k">
<para>Allow the called party to enable parking of the call by sending
@@ -360,6 +370,9 @@
<para>Allow the calling party to enable recording of the call by sending
the DTMF sequence defined for one-touch automixmonitor in <filename>features.conf</filename>.</para>
</option>
+ <option name="z">
+ <para>On a call forward, cancel any dial timeout which has been set for this call.</para>
+ </option>
</optionlist>
</parameter>
<parameter name="URL">
@@ -380,7 +393,6 @@
This application will report normal termination if the originating channel
hangs up, or if the call is bridged and either of the parties in the bridge
ends the call.</para>
-
<para>If the <variable>OUTBOUND_GROUP</variable> variable is set, all peer channels created by this
application will be put into that group (as in Set(GROUP()=...).
If the <variable>OUTBOUND_GROUP_ONCE</variable> variable is set, all peer channels created by this
@@ -462,12 +474,13 @@
OPT_GO_ON = (1 << 5),
OPT_CALLEE_HANGUP = (1 << 6),
OPT_CALLER_HANGUP = (1 << 7),
+ OPT_ORIGINAL_CLID = (1 << 8),
OPT_DURATION_LIMIT = (1 << 9),
OPT_MUSICBACK = (1 << 10),
OPT_CALLEE_MACRO = (1 << 11),
OPT_SCREEN_NOINTRO = (1 << 12),
- OPT_SCREEN_NOCLID = (1 << 13),
- OPT_ORIGINAL_CLID = (1 << 14),
+ OPT_SCREEN_NOCALLERID = (1 << 13),
+ OPT_IGNORE_CONNECTEDLINE = (1 << 14),
OPT_SCREENING = (1 << 15),
OPT_PRIVACY = (1 << 16),
OPT_RINGBACK = (1 << 17),
@@ -488,9 +501,11 @@
#define DIAL_STILLGOING (1 << 31)
#define DIAL_NOFORWARDHTML ((uint64_t)1 << 32) /* flags are now 64 bits, so keep it up! */
-#define OPT_CANCEL_ELSEWHERE ((uint64_t)1 << 33)
-#define OPT_PEER_H ((uint64_t)1 << 34)
-#define OPT_CALLEE_GO_ON ((uint64_t)1 << 35)
+#define DIAL_NOCONNECTEDLINE ((uint64_t)1 << 33)
+#define OPT_CANCEL_ELSEWHERE ((uint64_t)1 << 34)
+#define OPT_PEER_H ((uint64_t)1 << 35)
+#define OPT_CALLEE_GO_ON ((uint64_t)1 << 36)
+#define OPT_CANCEL_TIMEOUT ((uint64_t)1 << 37)
enum {
OPT_ARG_ANNOUNCE = 0,
@@ -522,13 +537,14 @@
AST_APP_OPTION('h', OPT_CALLEE_HANGUP),
AST_APP_OPTION('H', OPT_CALLER_HANGUP),
AST_APP_OPTION('i', OPT_IGNORE_FORWARDING),
+ AST_APP_OPTION('I', OPT_IGNORE_CONNECTEDLINE),
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),
AST_APP_OPTION('n', OPT_SCREEN_NOINTRO),
- AST_APP_OPTION('N', OPT_SCREEN_NOCLID),
+ AST_APP_OPTION('N', OPT_SCREEN_NOCALLERID),
AST_APP_OPTION('o', OPT_ORIGINAL_CLID),
AST_APP_OPTION_ARG('O', OPT_OPERMODE, OPT_ARG_OPERMODE),
AST_APP_OPTION('p', OPT_SCREENING),
@@ -542,6 +558,7 @@
AST_APP_OPTION('W', OPT_CALLER_MONITOR),
AST_APP_OPTION('x', OPT_CALLEE_MIXMONITOR),
AST_APP_OPTION('X', OPT_CALLER_MIXMONITOR),
+ AST_APP_OPTION('z', OPT_CANCEL_TIMEOUT),
END_OPTIONS );
#define CAN_EARLY_BRIDGE(flags,chan,peer) (!ast_test_flag64(flags, OPT_CALLEE_HANGUP | \
@@ -556,8 +573,10 @@
struct chanlist *next;
struct ast_channel *chan;
uint64_t flags;
+ struct ast_party_connected_line connected;
};
+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)
{
@@ -616,6 +635,11 @@
num->nochan++;
break;
+ case AST_CAUSE_NO_ANSWER:
+ if (cdr) {
+ ast_cdr_noanswer(cdr);
+ }
+ break;
case AST_CAUSE_NORMAL_CLEARING:
break;
@@ -651,11 +675,16 @@
return 0;
}
-
+/* do not call with chan lock held */
static const char *get_cid_name(char *name, int namelen, struct ast_channel *chan)
{
- const char *context = S_OR(chan->macrocontext, chan->context);
- const char *exten = S_OR(chan->macroexten, chan->exten);
+ const char *context;
+ const char *exten;
+
+ ast_channel_lock(chan);
+ context = ast_strdupa(S_OR(chan->macrocontext, chan->context));
+ exten = ast_strdupa(S_OR(chan->macroexten, chan->exten));
+ ast_channel_unlock(chan);
return ast_get_hint(NULL, 0, name, namelen, chan, context, exten) ? name : "";
}
@@ -693,12 +722,14 @@
* the outgoing channel without properly deleting it.
*/
static void do_forward(struct chanlist *o,
- struct cause_args *num, struct ast_flags64 *peerflags, int single)
+ struct cause_args *num, struct ast_flags64 *peerflags, int single, int *to)
{
char tmpchan[256];
struct ast_channel *original = o->chan;
struct ast_channel *c = o->chan; /* the winner */
struct ast_channel *in = num->chan; /* the input channel */
+ struct ast_party_redirecting *apr = &o->chan->redirecting;
+ struct ast_party_connected_line *apc = &o->chan->connected;
char *stuff;
char *tech;
int cause;
@@ -742,28 +773,42 @@
handle_cause(cause, num);
ast_hangup(original);
} else {
- char *new_cid_num, *new_cid_name;
- struct ast_channel *src;
-
- ast_rtp_make_compatible(c, in, single);
+ if (single) {
+ ast_rtp_instance_early_bridge_make_compatible(c, in);
+ }
+
+ c->cdrflags = in->cdrflags;
+
+ ast_channel_set_redirecting(c, apr);
+ ast_channel_lock(c);
+ while (ast_channel_trylock(in)) {
+ CHANNEL_DEADLOCK_AVOIDANCE(c);
+ }
+ S_REPLACE(c->cid.cid_rdnis, ast_strdup(S_OR(original->cid.cid_rdnis, S_OR(in->macroexten, in->exten))));
+
+ c->cid.cid_tns = in->cid.cid_tns;
+
if (ast_test_flag64(o, OPT_FORCECLID)) {
- new_cid_num = ast_strdup(S_OR(in->macroexten, in->exten));
- new_cid_name = NULL; /* XXX no name ? */
- src = c; /* XXX possible bug in previous code, which used 'winner' ? it may have changed */
+ S_REPLACE(c->cid.cid_num, ast_strdupa(S_OR(in->macroexten, in->exten)));
+ S_REPLACE(c->cid.cid_name, NULL);
+ ast_string_field_set(c, accountcode, c->accountcode);
} else {
- new_cid_num = ast_strdup(in->cid.cid_num);
- new_cid_name = ast_strdup(in->cid.cid_name);
- src = in;
- }
- ast_string_field_set(c, accountcode, src->accountcode);
- c->cdrflags = src->cdrflags;
- S_REPLACE(c->cid.cid_num, new_cid_num);
- S_REPLACE(c->cid.cid_name, new_cid_name);
-
- if (in->cid.cid_ani) { /* XXX or maybe unconditional ? */
- S_REPLACE(c->cid.cid_ani, ast_strdup(in->cid.cid_ani));
- }
- S_REPLACE(c->cid.cid_rdnis, ast_strdup(S_OR(in->macroexten, in->exten)));
+ ast_party_caller_copy(&c->cid, &in->cid);
+ ast_string_field_set(c, accountcode, in->accountcode);
+ }
+ ast_party_connected_line_copy(&c->connected, apc);
+
+ S_REPLACE(in->cid.cid_rdnis, ast_strdup(c->cid.cid_rdnis));
+ ast_channel_update_redirecting(in, apr);
+
+ ast_clear_flag64(peerflags, OPT_IGNORE_CONNECTEDLINE);
+ if (ast_test_flag64(peerflags, OPT_CANCEL_TIMEOUT)) {
+ *to = -1;
+ }
+
+ ast_channel_unlock(in);
+ ast_channel_unlock(c);
+
if (ast_call(c, tmpchan, 0)) {
ast_log(LOG_NOTICE, "Failed to dial on local channel for call forward to '%s'\n", tmpchan);
ast_clear_flag64(o, DIAL_STILLGOING);
@@ -772,11 +817,21 @@
c = o->chan = NULL;
num->nochan++;
} else {
+ ast_channel_lock(c);
+ while (ast_channel_trylock(in)) {
+ CHANNEL_DEADLOCK_AVOIDANCE(c);
+ }
senddialevent(in, c, stuff);
- /* After calling, set callerid to extension */
if (!ast_test_flag64(peerflags, OPT_ORIGINAL_CLID)) {
char cidname[AST_MAX_EXTENSION] = "";
- ast_set_callerid(c, S_OR(in->macroexten, in->exten), get_cid_name(cidname, sizeof(cidname), in), NULL);
+ const char *tmpexten;
+ tmpexten = ast_strdupa(S_OR(in->macroexten, in->exten));
+ ast_channel_unlock(in);
+ ast_channel_unlock(c);
+ ast_set_callerid(c, tmpexten, get_cid_name(cidname, sizeof(cidname), in), NULL);
+ } else {
+ ast_channel_unlock(in);
+ ast_channel_unlock(c);
}
/* Hangup the original channel now, in case we needed it */
ast_hangup(original);
@@ -799,23 +854,35 @@
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;
int orig = *to;
struct ast_channel *peer = NULL;
/* single is set if only one destination is enabled */
- int single = outgoing && !outgoing->next && !ast_test_flag64(outgoing, OPT_MUSICBACK | OPT_RINGBACK);
+ int single = outgoing && !outgoing->next;
#ifdef HAVE_EPOLL
struct chanlist *epollo;
#endif
-
+ struct ast_party_connected_line connected_caller;
+ struct ast_str *featurecode = ast_str_alloca(FEATURE_MAX_LEN + 1);
if (single) {
/* Turn off hold music, etc */
- ast_deactivate_generator(in);
+ if (!ast_test_flag64(outgoing, OPT_MUSICBACK | OPT_RINGBACK))
+ ast_deactivate_generator(in);
+
/* If we are calling a single channel, make them compatible for in-band tone purpose */
ast_channel_make_compatible(outgoing->chan, in);
+
[... 56422 lines stripped ...]
More information about the asterisk-commits
mailing list