[asterisk-commits] oej: branch oej/pinedanish-copybridgeflags-1.8 r342763 - in /team/oej/pinedan...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Oct 31 08:40:34 CDT 2011
Author: oej
Date: Mon Oct 31 08:40:19 2011
New Revision: 342763
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=342763
Log:
Resetting
Modified:
team/oej/pinedanish-copybridgeflags-1.8/ (props changed)
team/oej/pinedanish-copybridgeflags-1.8/Makefile.moddir_rules
team/oej/pinedanish-copybridgeflags-1.8/Makefile.rules
team/oej/pinedanish-copybridgeflags-1.8/UPGRADE.txt
team/oej/pinedanish-copybridgeflags-1.8/addons/chan_ooh323.c
team/oej/pinedanish-copybridgeflags-1.8/addons/ooh323c/src/memheap.c
team/oej/pinedanish-copybridgeflags-1.8/agi/agi.xml
team/oej/pinedanish-copybridgeflags-1.8/apps/app_celgenuserevent.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_dial.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_directed_pickup.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_echo.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_fax.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_followme.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_macro.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_meetme.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_minivm.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_mixmonitor.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_morsecode.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_mp3.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_queue.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_saycounted.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_system.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_url.c
team/oej/pinedanish-copybridgeflags-1.8/apps/app_voicemail.c
team/oej/pinedanish-copybridgeflags-1.8/autoconf/ast_ext_lib.m4
team/oej/pinedanish-copybridgeflags-1.8/bridges/bridge_multiplexed.c
team/oej/pinedanish-copybridgeflags-1.8/build_tools/cflags-devmode.xml
team/oej/pinedanish-copybridgeflags-1.8/build_tools/cflags.xml
team/oej/pinedanish-copybridgeflags-1.8/build_tools/embed_modules.xml
team/oej/pinedanish-copybridgeflags-1.8/build_tools/prep_tarball
team/oej/pinedanish-copybridgeflags-1.8/cdr/cdr_custom.c
team/oej/pinedanish-copybridgeflags-1.8/cdr/cdr_manager.c
team/oej/pinedanish-copybridgeflags-1.8/cdr/cdr_sqlite3_custom.c
team/oej/pinedanish-copybridgeflags-1.8/cel/cel_custom.c
team/oej/pinedanish-copybridgeflags-1.8/cel/cel_sqlite3_custom.c
team/oej/pinedanish-copybridgeflags-1.8/channels/chan_agent.c
team/oej/pinedanish-copybridgeflags-1.8/channels/chan_dahdi.c
team/oej/pinedanish-copybridgeflags-1.8/channels/chan_gtalk.c
team/oej/pinedanish-copybridgeflags-1.8/channels/chan_h323.c
team/oej/pinedanish-copybridgeflags-1.8/channels/chan_iax2.c
team/oej/pinedanish-copybridgeflags-1.8/channels/chan_mgcp.c
team/oej/pinedanish-copybridgeflags-1.8/channels/chan_misdn.c
team/oej/pinedanish-copybridgeflags-1.8/channels/chan_sip.c
team/oej/pinedanish-copybridgeflags-1.8/channels/chan_unistim.c
team/oej/pinedanish-copybridgeflags-1.8/channels/chan_usbradio.c
team/oej/pinedanish-copybridgeflags-1.8/channels/sig_analog.c
team/oej/pinedanish-copybridgeflags-1.8/channels/sig_pri.c
team/oej/pinedanish-copybridgeflags-1.8/channels/sig_ss7.c
team/oej/pinedanish-copybridgeflags-1.8/channels/sig_ss7.h
team/oej/pinedanish-copybridgeflags-1.8/channels/sip/include/dialog.h
team/oej/pinedanish-copybridgeflags-1.8/channels/sip/include/sip.h
team/oej/pinedanish-copybridgeflags-1.8/codecs/codec_dahdi.c
team/oej/pinedanish-copybridgeflags-1.8/codecs/gsm/Makefile
team/oej/pinedanish-copybridgeflags-1.8/configs/queues.conf.sample
team/oej/pinedanish-copybridgeflags-1.8/configs/res_pktccops.conf.sample
team/oej/pinedanish-copybridgeflags-1.8/configure.ac
team/oej/pinedanish-copybridgeflags-1.8/contrib/init.d/rc.archlinux.asterisk
team/oej/pinedanish-copybridgeflags-1.8/contrib/init.d/rc.redhat.asterisk
team/oej/pinedanish-copybridgeflags-1.8/contrib/scripts/get_ilbc_source.sh
team/oej/pinedanish-copybridgeflags-1.8/doc/appdocsxml.dtd
team/oej/pinedanish-copybridgeflags-1.8/funcs/func_callerid.c
team/oej/pinedanish-copybridgeflags-1.8/funcs/func_curl.c
team/oej/pinedanish-copybridgeflags-1.8/funcs/func_frame_trace.c
team/oej/pinedanish-copybridgeflags-1.8/funcs/func_odbc.c
team/oej/pinedanish-copybridgeflags-1.8/funcs/func_realtime.c
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/app.h
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/autoconfig.h.in
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/cel.h
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/channel.h
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/config.h
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/event.h
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/features.h
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/frame.h
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/linkedlists.h
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/logger.h
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/manager.h
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/module.h
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/optional_api.h
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/sha1.h
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/strings.h
team/oej/pinedanish-copybridgeflags-1.8/include/asterisk/xmldoc.h
team/oej/pinedanish-copybridgeflags-1.8/main/Makefile
team/oej/pinedanish-copybridgeflags-1.8/main/app.c
team/oej/pinedanish-copybridgeflags-1.8/main/asterisk.c
team/oej/pinedanish-copybridgeflags-1.8/main/astobj2.c
team/oej/pinedanish-copybridgeflags-1.8/main/cel.c
team/oej/pinedanish-copybridgeflags-1.8/main/channel.c
team/oej/pinedanish-copybridgeflags-1.8/main/config.c
team/oej/pinedanish-copybridgeflags-1.8/main/event.c
team/oej/pinedanish-copybridgeflags-1.8/main/features.c
team/oej/pinedanish-copybridgeflags-1.8/main/file.c
team/oej/pinedanish-copybridgeflags-1.8/main/loader.c
team/oej/pinedanish-copybridgeflags-1.8/main/logger.c
team/oej/pinedanish-copybridgeflags-1.8/main/manager.c
team/oej/pinedanish-copybridgeflags-1.8/main/pbx.c
team/oej/pinedanish-copybridgeflags-1.8/main/rtp_engine.c
team/oej/pinedanish-copybridgeflags-1.8/main/say.c
team/oej/pinedanish-copybridgeflags-1.8/main/sha1.c
team/oej/pinedanish-copybridgeflags-1.8/main/udptl.c
team/oej/pinedanish-copybridgeflags-1.8/main/xmldoc.c
team/oej/pinedanish-copybridgeflags-1.8/pbx/pbx_lua.c
team/oej/pinedanish-copybridgeflags-1.8/pbx/pbx_realtime.c
team/oej/pinedanish-copybridgeflags-1.8/pbx/pbx_spool.c
team/oej/pinedanish-copybridgeflags-1.8/res/ais/evt.c
team/oej/pinedanish-copybridgeflags-1.8/res/res_agi.c
team/oej/pinedanish-copybridgeflags-1.8/res/res_config_sqlite.c
team/oej/pinedanish-copybridgeflags-1.8/res/res_curl.c
team/oej/pinedanish-copybridgeflags-1.8/res/res_fax.c
team/oej/pinedanish-copybridgeflags-1.8/res/res_jabber.c
team/oej/pinedanish-copybridgeflags-1.8/res/res_musiconhold.c
team/oej/pinedanish-copybridgeflags-1.8/res/res_rtp_asterisk.c
team/oej/pinedanish-copybridgeflags-1.8/res/res_rtp_multicast.c
team/oej/pinedanish-copybridgeflags-1.8/res/res_srtp.c
team/oej/pinedanish-copybridgeflags-1.8/tests/test_amihooks.c
team/oej/pinedanish-copybridgeflags-1.8/tests/test_dlinklists.c
team/oej/pinedanish-copybridgeflags-1.8/tests/test_gosub.c
team/oej/pinedanish-copybridgeflags-1.8/tests/test_linkedlists.c
team/oej/pinedanish-copybridgeflags-1.8/tests/test_locale.c
team/oej/pinedanish-copybridgeflags-1.8/tests/test_logger.c
team/oej/pinedanish-copybridgeflags-1.8/tests/test_pbx.c
team/oej/pinedanish-copybridgeflags-1.8/tests/test_security_events.c
team/oej/pinedanish-copybridgeflags-1.8/utils/utils.xml
Propchange: team/oej/pinedanish-copybridgeflags-1.8/
('svnmerge-integrated' removed)
Modified: team/oej/pinedanish-copybridgeflags-1.8/Makefile.moddir_rules
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/Makefile.moddir_rules?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/Makefile.moddir_rules (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/Makefile.moddir_rules Mon Oct 31 08:40:19 2011
@@ -1,6 +1,6 @@
#
# Asterisk -- A telephony toolkit for Linux.
-#
+#
# Makefile rules for subdirectories containing modules
#
# Copyright (C) 2006, Digium, Inc.
@@ -46,7 +46,7 @@
C_MODS:=$(filter-out $(MENUSELECT_$(MENUSELECT_CATEGORY)),$(ALL_C_MODS))
CC_MODS:=$(filter-out $(MENUSELECT_$(MENUSELECT_CATEGORY)),$(ALL_CC_MODS))
-ifneq ($(findstring $(MENUSELECT_CATEGORY),$(MENUSELECT_EMBED)),)
+ifneq ($(findstring EMBED_$(MENUSELECT_CATEGORY),$(MENUSELECT_EMBED)),)
EMBEDDED_MODS:=$(C_MODS) $(CC_MODS)
else
LOADABLE_MODS:=$(C_MODS) $(CC_MODS)
Modified: team/oej/pinedanish-copybridgeflags-1.8/Makefile.rules
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/Makefile.rules?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/Makefile.rules (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/Makefile.rules Mon Oct 31 08:40:19 2011
@@ -37,8 +37,8 @@
OPTIMIZE?=-O6
ifneq ($(findstring darwin,$(OSARCH)),)
- ifeq ($(shell /usr/bin/sw_vers -productVersion | cut -c1-4),10.6)
- # Snow Leopard has an issue with this optimization flag on large files (like chan_sip)
+ ifeq ($(shell if test `/usr/bin/sw_vers -productVersion | cut -c4` -gt 5; then echo 6; else echo 0; fi),6)
+ # Snow Leopard/Lion has an issue with this optimization flag on large files (like chan_sip)
OPTIMIZE+=-fno-inline-functions
endif
endif
Modified: team/oej/pinedanish-copybridgeflags-1.8/UPGRADE.txt
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/UPGRADE.txt?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/UPGRADE.txt (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/UPGRADE.txt Mon Oct 31 08:40:19 2011
@@ -147,6 +147,18 @@
events/responses output the connected line ID as caller ID. These party ID's
are now separate.
+* The Dial application d and H options do not automatically answer the call
+ anymore. It broke DTMF attended transfers. Since many SIP and ISDN phones
+ cannot send DTMF before a call is connected, you need to answer the call
+ leg to those phones before using Dial with these options for them to have
+ any effect before the dialed party answers.
+
+* The outgoing directory (where .call files are read) now uses inotify to
+ detect file changes instead of polling the directory on a regular basis.
+ If your outgoing folder is on a NFS mount or another network file system,
+ changes to the files will not be detected. You can revert to polling the
+ directory by specifying --without-inotify to configure before compiling.
+
From 1.6.1 to 1.6.2:
* SIP no longer sends the 183 progress message for early media by
Modified: team/oej/pinedanish-copybridgeflags-1.8/addons/chan_ooh323.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/addons/chan_ooh323.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/addons/chan_ooh323.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/addons/chan_ooh323.c Mon Oct 31 08:40:19 2011
@@ -353,10 +353,10 @@
/* Don't hold a h323 pvt lock while we allocate a channel */
ast_mutex_unlock(&i->lock);
+ ast_mutex_lock(&ooh323c_cn_lock);
ch = ast_channel_alloc(1, state, i->callerid_num, i->callerid_name,
i->accountcode, i->exten, i->context, linkedid, i->amaflags,
"OOH323/%s-%ld", host, callnumber);
- ast_mutex_lock(&ooh323c_cn_lock);
callnumber++;
ast_mutex_unlock(&ooh323c_cn_lock);
Modified: team/oej/pinedanish-copybridgeflags-1.8/addons/ooh323c/src/memheap.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/addons/ooh323c/src/memheap.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/addons/ooh323c/src/memheap.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/addons/ooh323c/src/memheap.c Mon Oct 31 08:40:19 2011
@@ -1062,6 +1062,7 @@
void memHeapRelease (void** ppvMemHeap)
{
OSMemHeap** ppMemHeap = (OSMemHeap**)ppvMemHeap;
+ OSMemHeap* pMemHeap = *ppMemHeap;
if (ppMemHeap != 0 && *ppMemHeap != 0 && --(*ppMemHeap)->refCnt == 0) {
OSMemLink* pMemLink, *pMemLink2;
@@ -1078,9 +1079,10 @@
free (pMemLink2);
}
- if ((*ppMemHeap)->flags & RT_MH_FREEHEAPDESC)
+ if ((*ppMemHeap)->flags & RT_MH_FREEHEAPDESC) {
+ ast_mutex_destroy(&pMemHeap->pLock);
free (*ppMemHeap);
-
+ }
*ppMemHeap = 0;
}
}
Modified: team/oej/pinedanish-copybridgeflags-1.8/agi/agi.xml
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/agi/agi.xml?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/agi/agi.xml (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/agi/agi.xml Mon Oct 31 08:40:19 2011
@@ -1,14 +1,18 @@
<category name="MENUSELECT_AGIS" displayname="AGI Samples" positive_output="yes">
<member name="agi-test.agi">
<defaultenabled>no</defaultenabled>
+ <support_level>extended</support_level>
</member>
<member name="eagi-test">
<defaultenabled>no</defaultenabled>
+ <support_level>extended</support_level>
</member>
<member name="eagi-sphinx-test">
<defaultenabled>no</defaultenabled>
+ <support_level>extended</support_level>
</member>
<member name="jukebox.agi">
<defaultenabled>no</defaultenabled>
+ <support_level>extended</support_level>
</member>
</category>
Modified: team/oej/pinedanish-copybridgeflags-1.8/apps/app_celgenuserevent.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/apps/app_celgenuserevent.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/apps/app_celgenuserevent.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/apps/app_celgenuserevent.c Mon Oct 31 08:40:19 2011
@@ -22,6 +22,10 @@
*
* \ingroup applications
*/
+
+/*** MODULEINFO
+ <support_level>core</support_level>
+ ***/
#include "asterisk.h"
Modified: team/oej/pinedanish-copybridgeflags-1.8/apps/app_dial.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/apps/app_dial.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/apps/app_dial.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/apps/app_dial.c Mon Oct 31 08:40:19 2011
@@ -120,6 +120,11 @@
a call to be answered. Exit to that extension if it exists in the
current context, or the context defined in the <variable>EXITCONTEXT</variable> variable,
if it exists.</para>
+ <note>
+ <para>Many SIP and ISDN phones cannot send DTMF digits until the call is
+ connected. If you wish to use this option with these phones, you
+ can use the <literal>Answer</literal> application before dialing.</para>
+ </note>
</option>
<option name="D" argsep=":">
<argument name="called" />
@@ -147,12 +152,23 @@
<argument name="context" required="false" />
<argument name="exten" required="false" />
<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>
+ <para>When the caller hangs up, transfer the <emphasis>called</emphasis> party
+ to the specified destination and <emphasis>start</emphasis> execution at that location.</para>
+ <note>
+ <para>Any channel variables you want the called channel to inherit from the caller channel must be
+ prefixed with one or two underbars ('_').</para>
+ </note>
</option>
<option name="F">
- <para>Proceed with dialplan execution at the next priority in the current extension if the
- source channel hangs up.</para>
+ <para>When the caller hangs up, transfer the <emphasis>called</emphasis> party to the next priority of the current extension
+ and <emphasis>start</emphasis> execution at that location.</para>
+ <note>
+ <para>Any channel variables you want the called channel to inherit from the caller channel must be
+ prefixed with one or two underbars ('_').</para>
+ </note>
+ <note>
+ <para>Using this option from a Macro() or GoSub() might not make sense as there would be no return points.</para>
+ </note>
</option>
<option name="g">
<para>Proceed with dialplan execution at the next priority in the current extension if the
@@ -170,10 +186,18 @@
</note>
</option>
<option name="h">
- <para>Allow the called party to hang up by sending the <literal>*</literal> DTMF digit.</para>
+ <para>Allow the called party to hang up by sending the DTMF sequence
+ defined for disconnect in <filename>features.conf</filename>.</para>
</option>
<option name="H">
- <para>Allow the calling party to hang up by hitting the <literal>*</literal> DTMF digit.</para>
+ <para>Allow the calling party to hang up by sending the DTMF sequence
+ defined for disconnect in <filename>features.conf</filename>.</para>
+ <note>
+ <para>Many SIP and ISDN phones cannot send DTMF digits until the call is
+ connected. If you wish to allow DTMF disconnect before the dialed
+ party answers with these phones, you can use the <literal>Answer</literal>
+ application before dialing.</para>
+ </note>
</option>
<option name="i">
<para>Asterisk will ignore any forwarding requests it may receive on this dial attempt.</para>
@@ -1351,7 +1375,7 @@
case AST_FRAME_VOICE:
case AST_FRAME_IMAGE:
case AST_FRAME_TEXT:
- if (ast_write(in, f)) {
+ if (!ast_test_flag64(outgoing, OPT_RINGBACK | OPT_MUSICBACK) && ast_write(in, f)) {
ast_log(LOG_WARNING, "Unable to write frametype: %d\n",
f->frametype);
}
@@ -1759,7 +1783,7 @@
*/
silencethreshold = ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE);
ast_answer(chan);
- res = ast_play_and_record(chan, "priv-recordintro", pa->privintro, 4, "sln", &duration, silencethreshold, 2000, 0); /* NOTE: I've reduced the total time to 4 sec */
+ res = ast_play_and_record(chan, "priv-recordintro", pa->privintro, 4, "sln", &duration, NULL, silencethreshold, 2000, 0); /* NOTE: I've reduced the total time to 4 sec */
/* don't think we'll need a lock removed, we took care of
conflicts by naming the pa.privintro file */
if (res == -1) {
@@ -2070,10 +2094,6 @@
res = -1; /* reset default */
}
- if (ast_test_flag64(&opts, OPT_DTMF_EXIT) || ast_test_flag64(&opts, OPT_CALLER_HANGUP)) {
- __ast_answer(chan, 0, 0);
- }
-
if (continue_exec)
*continue_exec = 0;
@@ -2316,7 +2336,9 @@
ast_copy_string(tc->exten, chan->exten, sizeof(tc->exten));
ast_channel_unlock(tc);
+ ast_channel_unlock(chan);
res = ast_call(tc, numsubst, 0); /* Place the call, but don't wait on the answer */
+ ast_channel_lock(chan);
/* Save the info in cdr's that we called them */
if (chan->cdr)
Modified: team/oej/pinedanish-copybridgeflags-1.8/apps/app_directed_pickup.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/apps/app_directed_pickup.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/apps/app_directed_pickup.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/apps/app_directed_pickup.c Mon Oct 31 08:40:19 2011
@@ -101,7 +101,6 @@
static const char app[] = "Pickup";
static const char app2[] = "PickupChan";
-/*! \todo This application should return a result code, like PICKUPRESULT */
struct pickup_by_name_args {
const char *name;
Modified: team/oej/pinedanish-copybridgeflags-1.8/apps/app_echo.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/apps/app_echo.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/apps/app_echo.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/apps/app_echo.c Mon Oct 31 08:40:19 2011
@@ -46,6 +46,8 @@
<description>
<para>Echos back any audio, video or DTMF frames read from the calling
channel back to itself. Note: If '#' detected application exits</para>
+ <para>This application does not automatically answer and should be
+ preceeded by an application such as Answer() or Progress().</para>
</description>
</application>
***/
Modified: team/oej/pinedanish-copybridgeflags-1.8/apps/app_fax.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/apps/app_fax.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/apps/app_fax.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/apps/app_fax.c Mon Oct 31 08:40:19 2011
@@ -46,7 +46,7 @@
#include "asterisk/manager.h"
/*** DOCUMENTATION
- <application name="SendFAX" language="en_US">
+ <application name="SendFAX" language="en_US" module="app_fax">
<synopsis>
Send a Fax
</synopsis>
@@ -91,7 +91,7 @@
</variablelist>
</description>
</application>
- <application name="ReceiveFAX" language="en_US">
+ <application name="ReceiveFAX" language="en_US" module="app_fax">
<synopsis>
Receive a Fax
</synopsis>
Modified: team/oej/pinedanish-copybridgeflags-1.8/apps/app_followme.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/apps/app_followme.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/apps/app_followme.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/apps/app_followme.c Mon Oct 31 08:40:19 2011
@@ -1102,7 +1102,7 @@
duration = 5;
if (ast_test_flag(&targs.followmeflags, FOLLOWMEFLAG_RECORDNAME))
- if (ast_play_and_record(chan, "vm-rec-name", namerecloc, 5, "sln", &duration, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE), 0, NULL) < 0)
+ if (ast_play_and_record(chan, "vm-rec-name", namerecloc, 5, "sln", &duration, NULL, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE), 0, NULL) < 0)
goto outrun;
if (!ast_fileexists(namerecloc, NULL, chan->language))
Modified: team/oej/pinedanish-copybridgeflags-1.8/apps/app_macro.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/apps/app_macro.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/apps/app_macro.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/apps/app_macro.c Mon Oct 31 08:40:19 2011
@@ -26,7 +26,7 @@
*/
/*** MODULEINFO
- <support_level>deprecated</support_level>
+ <support_level>core</support_level>
<replacement>app_stack (GoSub)</replacement>
***/
Modified: team/oej/pinedanish-copybridgeflags-1.8/apps/app_meetme.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/apps/app_meetme.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/apps/app_meetme.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/apps/app_meetme.c Mon Oct 31 08:40:19 2011
@@ -31,8 +31,7 @@
/*** MODULEINFO
<depend>dahdi</depend>
- <support_level>deprecated</support_level>
- <replacement>app_confbridge</replacement>
+ <support_level>core</support_level>
***/
#include "asterisk.h"
@@ -143,10 +142,13 @@
</option>
<option name="p" hasparams="optional">
<para>Allow user to exit the conference by pressing <literal>#</literal> (default)
- or any of the defined keys. If keys contain <literal>*</literal> this will override
- option <literal>s</literal>. The key used is set to channel variable
+ or any of the defined keys. The key used is set to channel variable
<variable>MEETME_EXIT_KEY</variable>.</para>
<argument name="keys" required="true" />
+ <note>
+ <para>Option <literal>s</literal> has priority for <literal>*</literal>
+ since it cannot change its activation code.</para>
+ </note>
</option>
<option name="P">
<para>Always prompt for the pin even if it is specified.</para>
@@ -181,6 +183,10 @@
<para>Allow user to exit the conference by entering a valid single digit
extension <variable>MEETME_EXIT_CONTEXT</variable> or the current context
if that variable is not defined.</para>
+ <note>
+ <para>Option <literal>s</literal> has priority for <literal>*</literal>
+ since it cannot change its activation code.</para>
+ </note>
</option>
<option name="1">
<para>Do not play message when first person enters</para>
@@ -2458,7 +2464,7 @@
"%s/meetme-username-%s-%d", destdir,
conf->confno, user->user_no);
if (ast_test_flag64(confflags, CONFFLAG_INTROUSERNOREVIEW))
- res = ast_play_and_record(chan, "vm-rec-name", user->namerecloc, 10, "sln", &duration, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE), 0, NULL);
+ res = ast_play_and_record(chan, "vm-rec-name", user->namerecloc, 10, "sln", &duration, NULL, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE), 0, NULL);
else
res = ast_record_review(chan, "vm-rec-name", user->namerecloc, 10, "sln", &duration, NULL);
if (res == -1)
@@ -3536,7 +3542,10 @@
}
conf_flush(fd, chan);
- /* Since this option could absorb DTMF meant for the previous (menu), we have to check this one last */
+ /*
+ * Since options using DTMF could absorb DTMF meant for the
+ * conference menu, we have to check them after the menu.
+ */
} else if ((f->frametype == AST_FRAME_DTMF) && ast_test_flag64(confflags, CONFFLAG_EXIT_CONTEXT) && ast_exists_extension(chan, exitcontext, dtmfstr, 1, "")) {
if (ast_test_flag64(confflags, CONFFLAG_PASS_DTMF)) {
conf_queue_dtmf(conf, user, f);
Modified: team/oej/pinedanish-copybridgeflags-1.8/apps/app_minivm.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/apps/app_minivm.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/apps/app_minivm.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/apps/app_minivm.c Mon Oct 31 08:40:19 2011
@@ -1313,6 +1313,9 @@
}
/* Allocate channel used for chanvar substitution */
ast = ast_dummy_channel_alloc();
+ if (!ast) {
+ return -1;
+ }
snprintf(dur, sizeof(dur), "%d:%02d", duration / 60, duration % 60);
@@ -1473,8 +1476,7 @@
ast_safe_system(tmp2);
ast_debug(1, "Sent message to %s with command '%s' - %s\n", vmu->email, global_mailcmd, template->attachment ? "(media attachment)" : "");
ast_debug(3, "Actual command used: %s\n", tmp2);
- if (ast)
- ast = ast_channel_release(ast);
+ ast = ast_channel_unref(ast);
ast_free(str1);
ast_free(str2);
return 0;
@@ -1603,7 +1605,7 @@
/*!\internal
* \brief Record voicemail message & let caller review or re-record it, or set options if applicable */
static int play_record_review(struct ast_channel *chan, char *playfile, char *recordfile, int maxtime, char *fmt,
- int outsidecaller, struct minivm_account *vmu, int *duration, const char *unlockdir,
+ int outsidecaller, struct minivm_account *vmu, int *duration, int *sound_duration, const char *unlockdir,
signed char record_gain)
{
int cmd = 0;
@@ -1653,7 +1655,7 @@
ast_channel_setoption(chan, AST_OPTION_RXGAIN, &record_gain, sizeof(record_gain), 0);
if (ast_test_flag(vmu, MVM_OPERATOR))
canceldtmf = "0";
- cmd = ast_play_and_record_full(chan, playfile, recordfile, maxtime, fmt, duration, global_silencethreshold, global_maxsilence, unlockdir, acceptdtmf, canceldtmf);
+ cmd = ast_play_and_record_full(chan, playfile, recordfile, maxtime, fmt, duration, sound_duration, global_silencethreshold, global_maxsilence, unlockdir, acceptdtmf, canceldtmf);
if (record_gain)
ast_channel_setoption(chan, AST_OPTION_RXGAIN, &zero_gain, sizeof(zero_gain), 0);
if (cmd == -1) /* User has hung up, no options to give */
@@ -1842,6 +1844,7 @@
FILE *txt;
int res = 0, txtdes;
int duration = 0;
+ int sound_duration = 0;
char date[256];
char tmpdir[PATH_MAX];
char ext_context[256] = "";
@@ -1917,7 +1920,7 @@
/* Store information */
ast_debug(2, "Open file for metadata: %s\n", tmptxtfile);
- res = play_record_review(chan, NULL, tmptxtfile, global_vmmaxmessage, fmt, 1, vmu, &duration, NULL, options->record_gain);
+ res = play_record_review(chan, NULL, tmptxtfile, global_vmmaxmessage, fmt, 1, vmu, &duration, &sound_duration, NULL, options->record_gain);
txt = fdopen(txtdes, "w+");
if (!txt) {
@@ -1958,8 +1961,8 @@
ast_mutex_unlock(&minivmloglock);
}
- if (duration < global_vmminmessage) {
- ast_verb(3, "Recording was %d seconds long but needs to be at least %d - abandoning\n", duration, global_vmminmessage);
+ if (sound_duration < global_vmminmessage) {
+ ast_verb(3, "Recording was %d seconds long but needs to be at least %d - abandoning\n", sound_duration, global_vmminmessage);
fclose(txt);
ast_filedelete(tmptxtfile, NULL);
unlink(tmptxtfile);
@@ -2536,7 +2539,7 @@
}
snprintf(filename,sizeof(filename), "%s%s/%s/%s", MVM_SPOOL_DIR, vmu->domain, vmu->username, message);
/* Maybe we should check the result of play_record_review ? */
- play_record_review(chan, prompt, filename, global_maxgreet, default_vmformat, 0, vmu, &duration, NULL, FALSE);
+ play_record_review(chan, prompt, filename, global_maxgreet, default_vmformat, 0, vmu, &duration, NULL, NULL, FALSE);
ast_debug(1, "Recorded new %s message in %s (duration %d)\n", message, filename, duration);
Modified: team/oej/pinedanish-copybridgeflags-1.8/apps/app_mixmonitor.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/apps/app_mixmonitor.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/apps/app_mixmonitor.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/apps/app_mixmonitor.c Mon Oct 31 08:40:19 2011
@@ -103,6 +103,8 @@
</syntax>
<description>
<para>Records the audio on the current channel to the specified file.</para>
+ <para>This application does not automatically answer and should be preceeded by
+ an application such as Answer or Progress().</para>
<variablelist>
<variable name="MIXMONITOR_FILENAME">
<para>Will contain the filename used to record.</para>
Modified: team/oej/pinedanish-copybridgeflags-1.8/apps/app_morsecode.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/apps/app_morsecode.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/apps/app_morsecode.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/apps/app_morsecode.c Mon Oct 31 08:40:19 2011
@@ -50,7 +50,8 @@
</syntax>
<description>
<para>Plays the Morse code equivalent of the passed string.</para>
-
+ <para>This application does not automatically answer and should be preceeded by
+ an application such as Answer() or Progress().</para>
<para>This application uses the following variables:</para>
<variablelist>
<variable name="MORSEDITLEN">
Modified: team/oej/pinedanish-copybridgeflags-1.8/apps/app_mp3.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/apps/app_mp3.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/apps/app_mp3.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/apps/app_mp3.c Mon Oct 31 08:40:19 2011
@@ -65,9 +65,11 @@
<description>
<para>Executes mpg123 to play the given location, which typically would be a mp3 filename
or m3u playlist filename or a URL. Please read http://en.wikipedia.org/wiki/M3U
- to see how M3U playlist file format is like, Example usage would be
+ to see how M3U playlist file format is like, Example usage would be
exten => 1234,1,MP3Player(/var/lib/asterisk/playlist.m3u)
User can exit by pressing any key on the dialpad, or by hanging up.</para>
+ <para>This application does not automatically answer and should be preceeded by an
+ application such as Answer() or Progress().</para>
</description>
</application>
Modified: team/oej/pinedanish-copybridgeflags-1.8/apps/app_queue.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pinedanish-copybridgeflags-1.8/apps/app_queue.c?view=diff&rev=342763&r1=342762&r2=342763
==============================================================================
--- team/oej/pinedanish-copybridgeflags-1.8/apps/app_queue.c (original)
+++ team/oej/pinedanish-copybridgeflags-1.8/apps/app_queue.c Mon Oct 31 08:40:19 2011
@@ -224,6 +224,8 @@
up by another user.</para>
<para>This application will return to the dialplan if the queue does not exist, or
any of the join options cause the caller to not enter the queue.</para>
+ <para>This application does not automatically answer and should be preceeded
+ by an application such as Answer(), Progress(), or Ringing().</para>
<para>This application sets the following channel variable upon completion:</para>
<variablelist>
<variable name="QUEUESTATUS">
@@ -1168,12 +1170,6 @@
int autofill; /*!< Ignore the head call status and ring an available agent */
struct ao2_container *members; /*!< Head of the list of members */
- /*!
- * \brief Number of members _logged in_
- * \note There will be members in the members container that are not logged
- * in, so this can not simply be replaced with ao2_container_count().
- */
- int membercount;
struct queue_ent *head; /*!< Head of the list of callers */
AST_LIST_ENTRY(call_queue) list; /*!< Next call queue */
AST_LIST_HEAD_NOLOCK(, penalty_rule) rules; /*!< The list of penalty rules to invoke */
@@ -2134,7 +2130,6 @@
ao2_link(q->members, m);
ao2_ref(m, -1);
m = NULL;
- q->membercount++;
}
}
}
@@ -2149,7 +2144,6 @@
while ((cur = ao2_iterator_next(&mem_iter))) {
if (all || !cur->dynamic) {
ao2_unlink(q->members, cur);
- q->membercount--;
}
ao2_ref(cur, -1);
}
@@ -2252,7 +2246,6 @@
ao2_lock(q);
clear_queue(q);
q->realtime = 1;
- q->membercount = 0;
/*Before we initialize the queue, we need to set the strategy, so that linear strategy
* will allocate the members properly
*/
@@ -2292,11 +2285,9 @@
queue_set_param(q, tmp_name, v->value, -1, 0);
}
- /* Temporarily set realtime members dead so we can detect deleted ones.
- * Also set the membercount correctly for realtime*/
+ /* Temporarily set realtime members dead so we can detect deleted ones. */
mem_iter = ao2_iterator_init(q->members, 0);
while ((m = ao2_iterator_next(&mem_iter))) {
- q->membercount++;
if (m->realtime)
m->dead = 1;
ao2_ref(m, -1);
@@ -2318,7 +2309,6 @@
if (m->dead) {
ast_queue_log(q->name, "REALTIME", m->interface, "REMOVEMEMBER", "%s", "");
ao2_unlink(q->members, m);
- q->membercount--;
}
ao2_ref(m, -1);
}
@@ -2366,13 +2356,11 @@
queue_t_unref(q, "Need to find realtime queue");
}
- ao2_lock(queues);
-
q = find_queue_by_name_rt(queuename, queue_vars, member_config);
ast_config_destroy(member_config);
ast_variables_destroy(queue_vars);
- /* update the use_weight value if the queue's has gained or lost a weight */
+ /* update the use_weight value if the queue's has gained or lost a weight */
if (q) {
if (!q->weight && prev_weight) {
ast_atomic_fetchadd_int(&use_weight, -1);
@@ -2382,8 +2370,6 @@
}
}
/* Other cases will end up with the proper value for use_weight */
- ao2_unlock(queues);
-
} else {
update_realtime_members(q);
}
@@ -2417,10 +2403,9 @@
return;
}
- ao2_lock(queues);
ao2_lock(q);
-
- /* Temporarily set realtime members dead so we can detect deleted ones.*/
+
+ /* Temporarily set realtime members dead so we can detect deleted ones.*/
mem_iter = ao2_iterator_init(q->members, 0);
while ((m = ao2_iterator_next(&mem_iter))) {
if (m->realtime)
@@ -2444,13 +2429,11 @@
if (m->dead) {
ast_queue_log(q->name, "REALTIME", m->interface, "REMOVEMEMBER", "%s", "");
ao2_unlink(q->members, m);
- q->membercount--;
}
ao2_ref(m, -1);
}
ao2_iterator_destroy(&mem_iter);
ao2_unlock(q);
- ao2_unlock(queues);
ast_config_destroy(member_config);
}
@@ -2465,7 +2448,6 @@
if (!(q = load_realtime_queue(queuename)))
return res;
- ao2_lock(queues);
ao2_lock(q);
/* This is our one */
@@ -2474,7 +2456,6 @@
if ((status = get_member_status(q, qe->max_penalty, qe->min_penalty, q->joinempty))) {
*reason = QUEUE_JOINEMPTY;
ao2_unlock(q);
- ao2_unlock(queues);
queue_t_unref(q, "Done with realtime queue");
return res;
}
@@ -2538,7 +2519,6 @@
ast_debug(1, "Queue '%s' Join, Channel '%s', Position '%d'\n", q->name, qe->chan->name, qe->pos );
}
ao2_unlock(q);
- ao2_unlock(queues);
queue_t_unref(q, "Done with realtime queue");
return res;
@@ -2923,9 +2903,7 @@
struct member *mem;
int found = 0;
struct ao2_iterator queue_iter;
-
- /* q's lock and rq's lock already set by try_calling()
- * to solve deadlock */
+
queue_iter = ao2_iterator_init(queues, 0);
while ((q = ao2_t_iterator_next(&queue_iter, "Iterate through queues"))) {
if (q == rq) { /* don't check myself, could deadlock */
@@ -4063,7 +4041,8 @@
static int calc_metric(struct call_queue *q, struct member *mem, int pos, struct queue_ent *qe, struct callattempt *tmp)
{
/* disregarding penalty on too few members? */
- unsigned char usepenalty = (q->membercount <= q->penaltymemberslimit) ? 0 : 1;
+ int membercount = ao2_container_count(q->members);
+ unsigned char usepenalty = (membercount <= q->penaltymemberslimit) ? 0 : 1;
if (usepenalty) {
if ((qe->max_penalty && (mem->penalty > qe->max_penalty)) ||
@@ -4072,7 +4051,7 @@
}
} else {
ast_debug(1, "Disregarding penalty, %d members and %d in penaltymemberslimit.\n",
- q->membercount, q->penaltymemberslimit);
+ membercount, q->penaltymemberslimit);
}
[... 10601 lines stripped ...]
More information about the asterisk-commits
mailing list