[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