[asterisk-commits] oej: branch oej/codename-appleraisin-trunk r177352 - in /team/oej/codename-ap...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Feb 19 05:03:24 CST 2009
Author: oej
Date: Thu Feb 19 05:03:24 2009
New Revision: 177352
URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=177352
Log:
Reset merge stuff
Added:
team/oej/codename-appleraisin-trunk/apps/app_playtones.c
- copied unchanged from r177320, trunk/apps/app_playtones.c
team/oej/codename-appleraisin-trunk/channels/h323/ast_ptlib.h
- copied unchanged from r177320, trunk/channels/h323/ast_ptlib.h
team/oej/codename-appleraisin-trunk/include/asterisk/heap.h
- copied unchanged from r177320, trunk/include/asterisk/heap.h
team/oej/codename-appleraisin-trunk/main/heap.c
- copied unchanged from r177320, trunk/main/heap.c
team/oej/codename-appleraisin-trunk/tests/test_heap.c
- copied unchanged from r177320, trunk/tests/test_heap.c
team/oej/codename-appleraisin-trunk/tests/test_sched.c
- copied unchanged from r177320, trunk/tests/test_sched.c
Removed:
team/oej/codename-appleraisin-trunk/res/res_indications.c
Modified:
team/oej/codename-appleraisin-trunk/ (props changed)
team/oej/codename-appleraisin-trunk/CHANGES
team/oej/codename-appleraisin-trunk/UPGRADE.txt
team/oej/codename-appleraisin-trunk/apps/app_disa.c
team/oej/codename-appleraisin-trunk/apps/app_meetme.c
team/oej/codename-appleraisin-trunk/apps/app_milliwatt.c
team/oej/codename-appleraisin-trunk/apps/app_queue.c
team/oej/codename-appleraisin-trunk/apps/app_read.c
team/oej/codename-appleraisin-trunk/apps/app_readexten.c
team/oej/codename-appleraisin-trunk/autoconf/ast_check_pwlib.m4
team/oej/codename-appleraisin-trunk/autoconf/ast_prog_sed.m4
team/oej/codename-appleraisin-trunk/channels/chan_local.c
team/oej/codename-appleraisin-trunk/channels/chan_misdn.c
team/oej/codename-appleraisin-trunk/channels/chan_sip.c
team/oej/codename-appleraisin-trunk/channels/chan_skinny.c
team/oej/codename-appleraisin-trunk/channels/chan_unistim.c
team/oej/codename-appleraisin-trunk/channels/h323/ast_h323.cxx
team/oej/codename-appleraisin-trunk/channels/h323/ast_h323.h
team/oej/codename-appleraisin-trunk/channels/h323/caps_h323.cxx
team/oej/codename-appleraisin-trunk/channels/h323/caps_h323.h
team/oej/codename-appleraisin-trunk/channels/h323/chan_h323.h
team/oej/codename-appleraisin-trunk/channels/h323/cisco-h225.cxx
team/oej/codename-appleraisin-trunk/channels/h323/cisco-h225.h
team/oej/codename-appleraisin-trunk/channels/h323/compat_h323.cxx
team/oej/codename-appleraisin-trunk/channels/h323/compat_h323.h
team/oej/codename-appleraisin-trunk/codecs/codec_dahdi.c
team/oej/codename-appleraisin-trunk/configs/extconfig.conf.sample
team/oej/codename-appleraisin-trunk/configs/indications.conf.sample
team/oej/codename-appleraisin-trunk/configs/res_odbc.conf.sample
team/oej/codename-appleraisin-trunk/configure
team/oej/codename-appleraisin-trunk/configure.ac
team/oej/codename-appleraisin-trunk/funcs/func_channel.c
team/oej/codename-appleraisin-trunk/funcs/func_odbc.c
team/oej/codename-appleraisin-trunk/include/asterisk/_private.h
team/oej/codename-appleraisin-trunk/include/asterisk/channel.h
team/oej/codename-appleraisin-trunk/include/asterisk/config.h
team/oej/codename-appleraisin-trunk/include/asterisk/frame.h
team/oej/codename-appleraisin-trunk/include/asterisk/indications.h
team/oej/codename-appleraisin-trunk/include/asterisk/res_odbc.h
team/oej/codename-appleraisin-trunk/include/asterisk/timing.h
team/oej/codename-appleraisin-trunk/main/Makefile
team/oej/codename-appleraisin-trunk/main/app.c
team/oej/codename-appleraisin-trunk/main/asterisk.c
team/oej/codename-appleraisin-trunk/main/channel.c
team/oej/codename-appleraisin-trunk/main/features.c
team/oej/codename-appleraisin-trunk/main/frame.c
team/oej/codename-appleraisin-trunk/main/indications.c
team/oej/codename-appleraisin-trunk/main/loader.c
team/oej/codename-appleraisin-trunk/main/pbx.c
team/oej/codename-appleraisin-trunk/main/rtp.c
team/oej/codename-appleraisin-trunk/main/sched.c
team/oej/codename-appleraisin-trunk/main/strings.c
team/oej/codename-appleraisin-trunk/main/timing.c
team/oej/codename-appleraisin-trunk/main/utils.c
team/oej/codename-appleraisin-trunk/res/ael/ael.tab.c
team/oej/codename-appleraisin-trunk/res/ael/ael.y
team/oej/codename-appleraisin-trunk/res/res_odbc.c
team/oej/codename-appleraisin-trunk/res/res_timing_dahdi.c
team/oej/codename-appleraisin-trunk/res/res_timing_pthread.c
team/oej/codename-appleraisin-trunk/res/res_timing_timerfd.c
team/oej/codename-appleraisin-trunk/res/snmp/agent.c
Propchange: team/oej/codename-appleraisin-trunk/
------------------------------------------------------------------------------
--- automerge (original)
+++ automerge Thu Feb 19 05:03:24 2009
@@ -1,1 +1,1 @@
-Note to myself: Update web site with the new training class! http://edvina.net
+http://www.codename-pineapple.org/
Propchange: team/oej/codename-appleraisin-trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.
Propchange: team/oej/codename-appleraisin-trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Propchange: team/oej/codename-appleraisin-trunk/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Feb 19 05:03:24 2009
@@ -1,1 +1,1 @@
-/trunk:1-176552
+/trunk:1-177351
Modified: team/oej/codename-appleraisin-trunk/CHANGES
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/CHANGES?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/CHANGES (original)
+++ team/oej/codename-appleraisin-trunk/CHANGES Thu Feb 19 05:03:24 2009
@@ -44,6 +44,8 @@
* The parsing of register => lines in sip.conf has been modified to allow a port
to be present in the "user" portion. Please see the sip.conf.sample file for more
information
+ * Added support for subscribing to MWI on a remote server and making the status available
+ as a mailbox. Please see the sip.conf.sample file for more information.
* Added a function to remove SIP headers added in the dialplan before the
first INVITE is generated - SIPRemoveHeader()
* Channel variables set with setvar= in a device configuration is now
@@ -92,6 +94,7 @@
of "core show function AES_ENCRYPT" from the CLI
* Added AES_DECRYPT. For information on its use, please see the output
of "core show function AES_DECRYPT" from the CLI
+ * func_odbc now supports database transactions across multiple queries.
Applications
------------
Modified: team/oej/codename-appleraisin-trunk/UPGRADE.txt
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/UPGRADE.txt?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/UPGRADE.txt (original)
+++ team/oej/codename-appleraisin-trunk/UPGRADE.txt Thu Feb 19 05:03:24 2009
@@ -17,6 +17,13 @@
=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
===
===========================================================
+
+From 1.6.1 to 1.6.2:
+
+* The res_indications module has been removed. Its functionality was important
+ enough that most of it has been moved into the Asterisk core.
+ Two applications previously provided by res_indications, PlayTones and
+ StopPlayTones, have been moved into a new module, app_playtones.
From 1.6.0.1 to 1.6.1:
Modified: team/oej/codename-appleraisin-trunk/apps/app_disa.c
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/apps/app_disa.c?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/apps/app_disa.c (original)
+++ team/oej/codename-appleraisin-trunk/apps/app_disa.c Thu Feb 19 05:03:24 2009
@@ -124,15 +124,20 @@
static void play_dialtone(struct ast_channel *chan, char *mailbox)
{
- const struct tone_zone_sound *ts = NULL;
- if(ast_app_has_voicemail(mailbox, NULL))
+ struct ast_tone_zone_sound *ts = NULL;
+
+ if (ast_app_has_voicemail(mailbox, NULL)) {
ts = ast_get_indication_tone(chan->zone, "dialrecall");
- else
+ } else {
ts = ast_get_indication_tone(chan->zone, "dial");
- if (ts)
+ }
+
+ if (ts) {
ast_playtones_start(chan, 0, ts->data, 0);
- else
+ ts = ast_tone_zone_sound_unref(ts);
+ } else {
ast_tonepair_start(chan, 350, 440, 0, 0);
+ }
}
static int disa_exec(struct ast_channel *chan, void *data)
Modified: team/oej/codename-appleraisin-trunk/apps/app_meetme.c
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/apps/app_meetme.c?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/apps/app_meetme.c (original)
+++ team/oej/codename-appleraisin-trunk/apps/app_meetme.c Thu Feb 19 05:03:24 2009
@@ -502,6 +502,8 @@
CONFFLAG_EMPTY = (1 << 18),
CONFFLAG_EMPTYNOPIN = (1 << 19),
CONFFLAG_ALWAYSPROMPT = (1 << 20),
+ /*! If set, treat talking users as muted users */
+ CONFFLAG_OPTIMIZETALKER = (1 << 21),
/*! If set, won't speak the extra prompt when the first person
* enters the conference */
CONFFLAG_NOONLYPERSON = (1 << 22),
@@ -546,6 +548,7 @@
AST_APP_OPTION('I', CONFFLAG_INTROUSERNOREVIEW ),
AST_APP_OPTION_ARG('M', CONFFLAG_MOH, OPT_ARG_MOH_CLASS ),
AST_APP_OPTION('m', CONFFLAG_STARTMUTED ),
+ AST_APP_OPTION('o', CONFFLAG_OPTIMIZETALKER ),
AST_APP_OPTION('P', CONFFLAG_ALWAYSPROMPT ),
AST_APP_OPTION_ARG('p', CONFFLAG_KEYEXIT, OPT_ARG_EXITKEYS ),
AST_APP_OPTION('q', CONFFLAG_QUIET ),
@@ -2481,7 +2484,7 @@
x = 1;
ast_channel_setoption(chan, AST_OPTION_TONE_VERIFY, &x, sizeof(char), 0);
}
- if (!(confflags & CONFFLAG_MONITOR) && !(dsp = ast_dsp_new())) {
+ if ((confflags & CONFFLAG_OPTIMIZETALKER) && !(confflags & CONFFLAG_MONITOR) && !(dsp = ast_dsp_new())) {
ast_log(LOG_WARNING, "Unable to allocate DSP!\n");
res = -1;
}
@@ -2852,7 +2855,7 @@
ast_frame_adjust_volume(f, user->talk.actual);
}
- if (!(confflags & CONFFLAG_MONITOR)) {
+ if ((confflags & CONFFLAG_OPTIMIZETALKER) && !(confflags & CONFFLAG_MONITOR)) {
int totalsilence;
if (user->talking == -1) {
@@ -2897,7 +2900,7 @@
don't want to block, but we do want to at least *try*
to write out all the samples.
*/
- if (user->talking) {
+ if (user->talking && !(confflags & CONFFLAG_OPTIMIZETALKER)) {
careful_write(fd, f->data.ptr, f->datalen, 0);
}
}
@@ -3163,10 +3166,11 @@
fr.samples = res / 2;
fr.data.ptr = buf;
fr.offset = AST_FRIENDLY_OFFSET;
- if (!user->listen.actual &&
- ((confflags & CONFFLAG_MONITOR) ||
+ if (!user->listen.actual &&
+ ((confflags & CONFFLAG_MONITOR) ||
(user->adminflags & (ADMINFLAG_MUTED | ADMINFLAG_SELFMUTED)) ||
- (!user->talking)) ) {
+ (!user->talking && (confflags & CONFFLAG_OPTIMIZETALKER))
+ )) {
int idx;
for (idx = 0; idx < AST_FRAME_BITS; idx++) {
if (chan->rawwriteformat & (1 << idx)) {
Modified: team/oej/codename-appleraisin-trunk/apps/app_milliwatt.c
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/apps/app_milliwatt.c?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/apps/app_milliwatt.c (original)
+++ team/oej/codename-appleraisin-trunk/apps/app_milliwatt.c Thu Feb 19 05:03:24 2009
@@ -24,10 +24,6 @@
*
* \ingroup applications
*/
-
-/*** MODULEINFO
- <depend>res_indications</depend>
- ***/
#include "asterisk.h"
Modified: team/oej/codename-appleraisin-trunk/apps/app_queue.c
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/apps/app_queue.c?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/apps/app_queue.c (original)
+++ team/oej/codename-appleraisin-trunk/apps/app_queue.c Thu Feb 19 05:03:24 2009
@@ -7095,7 +7095,7 @@
ast_log(LOG_WARNING, "devicestate taskprocessor reference failed - devicestate notifications will not occur\n");
}
- if (!(device_state_sub = ast_event_subscribe(AST_EVENT_DEVICE_STATE_CHANGE, device_state_cb, NULL, AST_EVENT_IE_END))) {
+ if (!(device_state_sub = ast_event_subscribe(AST_EVENT_DEVICE_STATE, device_state_cb, NULL, AST_EVENT_IE_END))) {
res = -1;
}
Modified: team/oej/codename-appleraisin-trunk/apps/app_read.c
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/apps/app_read.c?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/apps/app_read.c (original)
+++ team/oej/codename-appleraisin-trunk/apps/app_read.c Thu Feb 19 05:03:24 2009
@@ -132,7 +132,7 @@
int tries = 1, to = 0, x = 0;
double tosec;
char *argcopy = NULL;
- struct tone_zone_sound *ts = NULL;
+ struct ast_tone_zone_sound *ts = NULL;
struct ast_flags flags = {0};
const char *status = "ERROR";
@@ -188,7 +188,7 @@
return 0;
}
if (ast_test_flag(&flags, OPT_INDICATION)) {
- if (! ast_strlen_zero(arglist.filename)) {
+ if (!ast_strlen_zero(arglist.filename)) {
ts = ast_get_indication_tone(chan->zone, arglist.filename);
}
}
@@ -258,6 +258,10 @@
}
}
+ if (ts) {
+ ts = ast_tone_zone_sound_unref(ts);
+ }
+
if (ast_check_hangup(chan))
status = "HANGUP";
pbx_builtin_setvar_helper(chan, "READSTATUS", status);
Modified: team/oej/codename-appleraisin-trunk/apps/app_readexten.c
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/apps/app_readexten.c?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/apps/app_readexten.c (original)
+++ team/oej/codename-appleraisin-trunk/apps/app_readexten.c Thu Feb 19 05:03:24 2009
@@ -132,7 +132,7 @@
int maxdigits = sizeof(exten) - 1;
int timeout = 0, digit_timeout = 0, x = 0;
char *argcopy = NULL, *status = "";
- struct tone_zone_sound *ts = NULL;
+ struct ast_tone_zone_sound *ts = NULL;
struct ast_flags flags = {0};
AST_DECLARE_APP_ARGS(arglist,
@@ -179,8 +179,9 @@
if (digit_timeout <= 0)
digit_timeout = chan->pbx ? chan->pbx->dtimeoutms : 5000;
- if (ast_test_flag(&flags, OPT_INDICATION) && !ast_strlen_zero(arglist.filename))
+ if (ast_test_flag(&flags, OPT_INDICATION) && !ast_strlen_zero(arglist.filename)) {
ts = ast_get_indication_tone(chan->zone, arglist.filename);
+ }
do {
if (chan->_state != AST_STATE_UP) {
@@ -250,6 +251,10 @@
}
} while (0);
+ if (ts) {
+ ts = ast_tone_zone_sound_unref(ts);
+ }
+
pbx_builtin_setvar_helper(chan, "READEXTENSTATUS", status);
return status[0] == 'H' ? -1 : 0;
Modified: team/oej/codename-appleraisin-trunk/autoconf/ast_check_pwlib.m4
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/autoconf/ast_check_pwlib.m4?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/autoconf/ast_check_pwlib.m4 (original)
+++ team/oej/codename-appleraisin-trunk/autoconf/ast_check_pwlib.m4 Thu Feb 19 05:03:24 2009
@@ -103,12 +103,12 @@
else
AC_CHECK_HEADER(/usr/local/include/ptlib.h, HAS_PWLIB=1, )
if test "${HAS_PWLIB:-unset}" != "unset" ; then
- AC_PATH_PROG(PTLIB_CONFIG, ptlib-config, , /usr/local/bin)
- if test "${PTLIB_CONFIG:-unset}" = "unset" ; then
- AC_PATH_PROG(PTLIB_CONFIG, ptlib-config, , /usr/local/share/pwlib/make)
+ AC_PATH_PROG(PTLIB_CONFIG, ptlib-config, , /usr/local/bin$PATH_SEPARATOR/usr/local/share/pwlib/make)
+ PWLIB_INCDIR="/usr/local/include"
+ PWLIB_LIBDIR=`${PTLIB_CONFIG} --pwlibdir 2>/dev/null`
+ if test "${PWLIB_LIBDIR:-unset}" = "unset"; then
+ PWLIB_LIBDIR=`${PTLIB_CONFIG} --ptlibdir 2>/dev/null`
fi
- PWLIB_INCDIR="/usr/local/include"
- PWLIB_LIBDIR=`${PTLIB_CONFIG} --pwlibdir`
if test "${PWLIB_LIBDIR:-unset}" = "unset"; then
if test "x$LIB64" != "x"; then
PWLIB_LIBDIR="/usr/local/lib64"
@@ -121,9 +121,12 @@
else
AC_CHECK_HEADER(/usr/include/ptlib.h, HAS_PWLIB=1, )
if test "${HAS_PWLIB:-unset}" != "unset" ; then
- AC_PATH_PROG(PTLIB_CONFIG, ptlib-config, , /usr/share/pwlib/make)
+ AC_PATH_PROG(PTLIB_CONFIG, ptlib-config, , /usr/bin$PATH_SEPARATOR/usr/share/pwlib/make)
PWLIB_INCDIR="/usr/include"
- PWLIB_LIBDIR=`${PTLIB_CONFIG} --pwlibdir`
+ PWLIB_LIBDIR=`${PTLIB_CONFIG} --pwlibdir 2>/dev/null`
+ if test "${PWLIB_LIBDIR:-unset}" = "unset"; then
+ PWLIB_LIBDIR=`${PTLIB_CONFIG} --ptlibdir 2>/dev/null`
+ fi
if test "${PWLIB_LIBDIR:-unset}" = "unset"; then
if test "x$LIB64" != "x"; then
PWLIB_LIBDIR="/usr/lib64"
@@ -188,8 +191,14 @@
])
AC_DEFUN([AST_CHECK_PWLIB_VERSION], [
+ if test "x$7" != "x"; then
+ VNAME="$7"
+ else
+ VNAME="$2_VERSION"
+ fi
+
if test "${HAS_$2:-unset}" != "unset"; then
- $2_VERSION=`grep "$2_VERSION" ${$2_INCDIR}/$3 | sed -e 's/[[[:space:]]]\{1,\}/ /g' | cut -f3 -d ' ' | sed -e 's/"//g'`
+ $2_VERSION=`grep "$VNAME" ${$2_INCDIR}/$3 | sed -e 's/[[[:space:]]]\{1,\}/ /g' | cut -f3 -d ' ' | sed -e 's/"//g'`
$2_MAJOR_VERSION=`echo ${$2_VERSION} | cut -f1 -d.`
$2_MINOR_VERSION=`echo ${$2_VERSION} | cut -f2 -d.`
$2_BUILD_NUMBER=`echo ${$2_VERSION} | cut -f3 -d.`
Modified: team/oej/codename-appleraisin-trunk/autoconf/ast_prog_sed.m4
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/autoconf/ast_prog_sed.m4?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/autoconf/ast_prog_sed.m4 (original)
+++ team/oej/codename-appleraisin-trunk/autoconf/ast_prog_sed.m4 Thu Feb 19 05:03:24 2009
@@ -12,7 +12,8 @@
done
echo "$ac_script" | sed 99q >conftest.sed
$as_unset ac_script || ac_script=
- _AC_PATH_PROG_FEATURE_CHECK(SED, [sed gsed],
+ ifdef([_AC_PATH_PROGS_FEATURE_CHECK],[],[define([_AC_PATH_PROGS_FEATURE_CHECK],defn([_AC_PATH_PROG_FEATURE_CHECK]))])
+ _AC_PATH_PROGS_FEATURE_CHECK(SED, [sed gsed],
[_AC_FEATURE_CHECK_LENGTH([ac_path_SED], [ac_cv_path_SED],
["$ac_path_SED" -f conftest.sed])])])
SED="$ac_cv_path_SED"
Modified: team/oej/codename-appleraisin-trunk/channels/chan_local.c
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/channels/chan_local.c?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/channels/chan_local.c (original)
+++ team/oej/codename-appleraisin-trunk/channels/chan_local.c Thu Feb 19 05:03:24 2009
@@ -106,8 +106,8 @@
char exten[AST_MAX_EXTENSION]; /* Extension to call */
int reqformat; /* Requested format */
struct ast_jb_conf jb_conf; /*!< jitterbuffer configuration for this local channel */
- struct ast_channel *owner; /* Master Channel */
- struct ast_channel *chan; /* Outbound channel */
+ struct ast_channel *owner; /* Master Channel - Bridging happens here */
+ struct ast_channel *chan; /* Outbound channel - PBX is run here */
struct ast_module_user *u_owner; /*! reference to keep the module loaded while in use */
struct ast_module_user *u_chan; /*! reference to keep the module loaded while in use */
AST_LIST_ENTRY(local_pvt) list; /* Next entity */
@@ -303,6 +303,7 @@
p->chan->audiohooks = p->owner->audiohooks;
p->owner->audiohooks = audiohooks_swapper;
}
+ ast_app_group_update(p->chan, p->owner);
ast_channel_masquerade(p->owner, p->chan->_bridge);
ast_set_flag(p, LOCAL_ALREADY_MASQED);
}
Modified: team/oej/codename-appleraisin-trunk/channels/chan_misdn.c
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/channels/chan_misdn.c?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/channels/chan_misdn.c (original)
+++ team/oej/codename-appleraisin-trunk/channels/chan_misdn.c Thu Feb 19 05:03:24 2009
@@ -379,7 +379,7 @@
* \brief Tone zone sound used for dialtone generation.
* \note Used as a boolean. Non-NULL to prod generation if enabled.
*/
- const struct tone_zone_sound *ts;
+ struct ast_tone_zone_sound *ts;
/*!
* \brief Enables overlap dialing for the set amount of seconds. (0 = Disabled)
@@ -3357,7 +3357,6 @@
static int dialtone_indicate(struct chan_list *cl)
{
- const struct tone_zone_sound *ts = NULL;
struct ast_channel *ast = cl->ast;
int nd = 0;
@@ -3374,14 +3373,14 @@
}
chan_misdn_log(3, cl->bc->port, " --> Dial\n");
- ts = ast_get_indication_tone(ast->zone, "dial");
- cl->ts = ts;
-
- if (ts) {
+
+ cl->ts = ast_get_indication_tone(ast->zone, "dial");
+
+ if (cl->ts) {
cl->notxtone = 0;
cl->norxtone = 0;
/* This prods us in misdn_write */
- ast_playtones_start(ast, 0, ts->data, 0);
+ ast_playtones_start(ast, 0, cl->ts->data, 0);
}
return 0;
@@ -3406,8 +3405,9 @@
misdn_lib_tone_generator_stop(cl->bc);
ast_playtones_stop(ast);
- cl->ts = NULL;
- /*ast_deactivate_generator(ast);*/
+ if (cl->ts) {
+ cl->ts = ast_tone_zone_sound_unref(cl->ts);
+ }
return 0;
}
Modified: team/oej/codename-appleraisin-trunk/channels/chan_sip.c
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/channels/chan_sip.c?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/channels/chan_sip.c (original)
+++ team/oej/codename-appleraisin-trunk/channels/chan_sip.c Thu Feb 19 05:03:24 2009
@@ -4617,8 +4617,8 @@
if (message)
ast_queue_control_data(chan, AST_CONTROL_T38, &message, sizeof(message));
- if (ast_test_flag(&p->flags[1], SIP_PAGE2_FAX_DETECT)) {
- /* fax detection is enabled */
+ if (ast_test_flag(&p->flags[1], SIP_PAGE2_FAX_DETECT) && !p->outgoing_call) {
+ /* fax detection is enabled and this is an incoming call */
ast_channel_lock(chan);
if (strcmp(chan->exten, "fax") && state == T38_ENABLED) {
const char *target_context = S_OR(chan->macrocontext, chan->context);
@@ -4709,6 +4709,10 @@
}
dialog->prefs = peer->prefs;
if (ast_test_flag(&dialog->flags[1], SIP_PAGE2_T38SUPPORT)) {
+ if (!dialog->udptl) {
+ /* t38pt_udptl was enabled in the peer and not in [general] */
+ dialog->udptl = ast_udptl_new_with_bindaddr(sched, io, 0, bindaddr.sin_addr);
+ }
ast_copy_flags(&dialog->t38.t38support, &peer->flags[1], SIP_PAGE2_T38SUPPORT);
set_t38_capabilities(dialog);
dialog->t38.jointcapability = dialog->t38.capability;
@@ -16652,7 +16656,7 @@
if (sip_cfg.callevents)
manager_event(EVENT_FLAG_SYSTEM, "ChannelUpdate",
"Channel: %s\r\nChanneltype: %s\r\nUniqueid: %s\r\nSIPcallid: %s\r\nSIPfullcontact: %s\r\nPeername: %s\r\n",
- p->owner->name, p->owner->uniqueid, "SIP", p->callid, p->fullcontact, p->peername);
+ p->owner->name, "SIP", p->owner->uniqueid, p->callid, p->fullcontact, p->peername);
} else { /* RE-invite */
ast_queue_frame(p->owner, &ast_null_frame);
}
Modified: team/oej/codename-appleraisin-trunk/channels/chan_skinny.c
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/channels/chan_skinny.c?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/channels/chan_skinny.c (original)
+++ team/oej/codename-appleraisin-trunk/channels/chan_skinny.c Thu Feb 19 05:03:24 2009
@@ -3751,7 +3751,7 @@
{
struct skinny_subchannel *xferor; /* the sub doing the transferring */
struct skinny_subchannel *xferee; /* the sub being transferred */
- const struct tone_zone_sound *ts = NULL;
+ struct ast_tone_zone_sound *ts = NULL;
if (ast_bridged_channel(sub->owner) || ast_bridged_channel(sub->related->owner)) {
if (sub->xferor) {
@@ -3774,8 +3774,10 @@
}
if (xferor->owner->_state == AST_STATE_RING) {
/* play ringing inband */
- ts = ast_get_indication_tone(xferor->owner->zone, "ring");
- ast_playtones_start(xferor->owner, 0, ts->data, 1);
+ if ((ts = ast_get_indication_tone(xferor->owner->zone, "ring"))) {
+ ast_playtones_start(xferor->owner, 0, ts->data, 1);
+ ts = ast_tone_zone_sound_unref(ts);
+ }
}
if (skinnydebug)
ast_debug(1, "Transfer Masquerading %s to %s\n",
@@ -3789,8 +3791,10 @@
ast_queue_control(xferee->owner, AST_CONTROL_UNHOLD);
if (xferor->owner->_state == AST_STATE_RING) {
/* play ringing inband */
- ts = ast_get_indication_tone(xferor->owner->zone, "ring");
- ast_playtones_start(xferor->owner, 0, ts->data, 1);
+ if ((ts = ast_get_indication_tone(xferor->owner->zone, "ring"))) {
+ ast_playtones_start(xferor->owner, 0, ts->data, 1);
+ ts = ast_tone_zone_sound_unref(ts);
+ }
}
if (skinnydebug)
ast_debug(1, "Transfer Masquerading %s to %s\n",
Modified: team/oej/codename-appleraisin-trunk/channels/chan_unistim.c
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/channels/chan_unistim.c?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/channels/chan_unistim.c (original)
+++ team/oej/codename-appleraisin-trunk/channels/chan_unistim.c Thu Feb 19 05:03:24 2009
@@ -439,7 +439,7 @@
char datetimeformat; /*!< format used for displaying time/date */
char contrast; /*!< contrast */
char country[3]; /*!< country used for dial tone frequency */
- struct tone_zone *tz; /*!< Tone zone for res_indications (ring, busy, congestion) */
+ struct ast_tone_zone *tz; /*!< Tone zone for res_indications (ring, busy, congestion) */
char ringvolume; /*!< Ring volume */
char ringstyle; /*!< Ring melody */
int rtp_port; /*!< RTP port used by the phone */
@@ -4057,17 +4057,17 @@
return "UNKNOWN";
}
-static void in_band_indication(struct ast_channel *ast, const struct tone_zone *tz,
+static void in_band_indication(struct ast_channel *ast, const struct ast_tone_zone *tz,
const char *indication)
{
- const struct tone_zone_sound *ts = NULL;
-
- ts = ast_get_indication_tone(tz, indication);
-
- if (ts && ts->data[0])
+ struct ast_tone_zone_sound *ts = NULL;
+
+ if ((ts = ast_get_indication_tone(tz, indication))) {
ast_playtones_start(ast, 0, ts->data, 1);
- else
+ ts = ast_tone_zone_sound_unref(ts);
+ } else {
ast_log(LOG_WARNING, "Unable to get indication tone for %s\n", indication);
+ }
}
static int unistim_indicate(struct ast_channel *ast, int ind, const void *data,
@@ -5223,6 +5223,9 @@
ast_log(LOG_ERROR, "An Unistim device must have at least one line!\n");
ast_mutex_destroy(&l->lock);
ast_free(l);
+ if (d->tz) {
+ d->tz = ast_tone_zone_unref(d->tz);
+ }
ast_free(d);
return NULL;
}
@@ -5240,6 +5243,9 @@
ast_log(LOG_ERROR, "You must specify the mac address with device=\n");
ast_mutex_destroy(&l->lock);
ast_free(l);
+ if (d->tz) {
+ d->tz = ast_tone_zone_unref(d->tz);
+ }
ast_free(d);
return NULL;
} else
@@ -5461,6 +5467,9 @@
d2 = d2->next;
}
}
+ if (d->tz) {
+ d->tz = ast_tone_zone_unref(d->tz);
+ }
ast_free(d);
d = devices;
continue;
Modified: team/oej/codename-appleraisin-trunk/channels/h323/ast_h323.cxx
URL: http://svn.digium.com/svn-view/asterisk/team/oej/codename-appleraisin-trunk/channels/h323/ast_h323.cxx?view=diff&rev=177352&r1=177351&r2=177352
==============================================================================
--- team/oej/codename-appleraisin-trunk/channels/h323/ast_h323.cxx (original)
+++ team/oej/codename-appleraisin-trunk/channels/h323/ast_h323.cxx Thu Feb 19 05:03:24 2009
@@ -66,8 +66,6 @@
#include "cisco-h225.h"
#include "caps_h323.h"
-#include <ptbuildopts.h>
-
#if PWLIB_MAJOR * 10000 + PWLIB_MINOR * 100 + PWLIB_BUILD >= 1 * 10000 + 12 * 100 + 0
#define SKIP_PWLIB_PIPE_BUG_WORKAROUND 1
#endif
@@ -334,7 +332,7 @@
terminalType = e_GatewayOnly;
}
-BOOL MyH323EndPoint::ClearCall(const PString & token, H323Connection::CallEndReason reason)
+PBoolean MyH323EndPoint::ClearCall(const PString & token, H323Connection::CallEndReason reason)
{
if (h323debug) {
#ifdef PTRACING
@@ -346,7 +344,7 @@
return H323EndPoint::ClearCall(token, reason);
}
-BOOL MyH323EndPoint::ClearCall(const PString & token)
+PBoolean MyH323EndPoint::ClearCall(const PString & token)
{
if (h323debug) {
cout << "\t-- ClearCall: Request to clear call with token " << token << endl;
@@ -374,7 +372,7 @@
H323EndPoint::OnClosedLogicalChannel(connection, channel);
}
-BOOL MyH323EndPoint::OnConnectionForwarded(H323Connection & connection,
+PBoolean MyH323EndPoint::OnConnectionForwarded(H323Connection & connection,
const PString & forwardParty,
const H323SignalPDU & pdu)
{
@@ -384,7 +382,7 @@
return FALSE;
}
-BOOL MyH323EndPoint::ForwardConnection(H323Connection & connection,
+PBoolean MyH323EndPoint::ForwardConnection(H323Connection & connection,
const PString & forwardParty,
const H323SignalPDU & pdu)
{
@@ -588,9 +586,9 @@
return;
}
-BOOL MyH323Connection::OnReceivedProgress(const H323SignalPDU &pdu)
-{
- BOOL isInband;
+PBoolean MyH323Connection::OnReceivedProgress(const H323SignalPDU &pdu)
+{
+ PBoolean isInband;
unsigned pi;
if (!H323Connection::OnReceivedProgress(pdu)) {
@@ -616,7 +614,7 @@
return connectionState != ShuttingDownConnection;
}
-BOOL MyH323Connection::MySendProgress()
+PBoolean MyH323Connection::MySendProgress()
{
/* The code taken from H323Connection::AnsweringCall() but ALWAYS send
PROGRESS message, including slow start operations */
@@ -696,7 +694,7 @@
return ((pi || (fastStartState != FastStartDisabled)) ? AnswerCallDeferredWithMedia : AnswerCallDeferred);
}
-BOOL MyH323Connection::OnAlerting(const H323SignalPDU & alertingPDU, const PString & username)
+PBoolean MyH323Connection::OnAlerting(const H323SignalPDU & alertingPDU, const PString & username)
{
if (h323debug) {
cout << "\t=-= In OnAlerting for call " << GetCallReference()
@@ -705,7 +703,7 @@
}
if (on_progress) {
- BOOL isInband;
+ PBoolean isInband;
unsigned alertingPI;
if (!alertingPDU.GetQ931().GetProgressIndicator(alertingPI)) {
@@ -729,7 +727,7 @@
return connectionState != ShuttingDownConnection;
}
-void MyH323Connection::SetCallOptions(void *o, BOOL isIncoming)
+void MyH323Connection::SetCallOptions(void *o, PBoolean isIncoming)
{
call_options_t *opts = (call_options_t *)o;
@@ -760,7 +758,7 @@
tunnelOptions = opts->tunnelOptions;
}
-void MyH323Connection::SetCallDetails(void *callDetails, const H323SignalPDU &setupPDU, BOOL isIncoming)
+void MyH323Connection::SetCallDetails(void *callDetails, const H323SignalPDU &setupPDU, PBoolean isIncoming)
{
PString sourceE164;
PString destE164;
@@ -855,7 +853,7 @@
}
#ifdef TUNNELLING
-static BOOL FetchInformationElements(Q931 &q931, const PBYTEArray &data)
+static PBoolean FetchInformationElements(Q931 &q931, const PBYTEArray &data)
{
PINDEX offset = 0;
@@ -913,9 +911,9 @@
return TRUE;
}
-static BOOL FetchCiscoTunneledInfo(Q931 &q931, const H323SignalPDU &pdu)
-{
- BOOL res = FALSE;
+static PBoolean FetchCiscoTunneledInfo(Q931 &q931, const H323SignalPDU &pdu)
+{
+ PBoolean res = FALSE;
const H225_H323_UU_PDU &uuPDU = pdu.m_h323_uu_pdu;
if(uuPDU.HasOptionalField(H225_H323_UU_PDU::e_nonStandardControl)) {
@@ -932,7 +930,7 @@
CISCO_H225_H323_UU_NonStdInfo c;
PPER_Stream strm(data);
if (c.Decode(strm)) {
- BOOL haveIEs = FALSE;
+ PBoolean haveIEs = FALSE;
if (h323debug)
cout << setprecision(0) << "H323_UU_NonStdInfo = " << c << endl;
if (c.HasOptionalField(CISCO_H225_H323_UU_NonStdInfo::e_protoParam)) {
@@ -957,19 +955,19 @@
return res;
}
-static BOOL EmbedCiscoTunneledInfo(H323SignalPDU &pdu)
+static PBoolean EmbedCiscoTunneledInfo(H323SignalPDU &pdu)
{
static const struct {
Q931::InformationElementCodes ie;
- BOOL dontDelete;
+ PBoolean dontDelete;
} codes[] = {
{ Q931::RedirectingNumberIE, },
{ Q931::FacilityIE, },
// { Q931::CallingPartyNumberIE, TRUE },
};
- BOOL res = FALSE;
- BOOL notRedirOnly = FALSE;
+ PBoolean res = FALSE;
+ PBoolean notRedirOnly = FALSE;
Q931 tmpQ931;
Q931 &q931 = pdu.GetQ931();
@@ -1027,9 +1025,9 @@
static const char OID_QSIG[] = "1.3.12.9";
-static BOOL FetchQSIGTunneledInfo(Q931 &q931, const H323SignalPDU &pdu)
-{
- BOOL res = FALSE;
+static PBoolean FetchQSIGTunneledInfo(Q931 &q931, const H323SignalPDU &pdu)
+{
+ PBoolean res = FALSE;
const H225_H323_UU_PDU &uuPDU = pdu.m_h323_uu_pdu;
if (uuPDU.HasOptionalField(H225_H323_UU_PDU::e_tunnelledSignallingMessage)) {
const H225_H323_UU_PDU_tunnelledSignallingMessage &sig = uuPDU.m_tunnelledSignallingMessage;
@@ -1077,7 +1075,7 @@
return NULL;
}
-static BOOL QSIGTunnelRequested(H323SignalPDU &pdu)
+static PBoolean QSIGTunnelRequested(H323SignalPDU &pdu)
{
H225_EndpointType *epType = GetEndpointType(pdu);
if (epType) {
@@ -1096,7 +1094,7 @@
return FALSE;
}
-static BOOL EmbedQSIGTunneledInfo(H323SignalPDU &pdu)
+static PBoolean EmbedQSIGTunneledInfo(H323SignalPDU &pdu)
{
static const Q931::InformationElementCodes codes[] =
{ Q931::RedirectingNumberIE, Q931::FacilityIE };
@@ -1121,7 +1119,7 @@
(*epType).m_supportedTunnelledProtocols.SetSize(0);
}
H225_ArrayOf_TunnelledProtocol &protos = (*epType).m_supportedTunnelledProtocols;
- BOOL addQSIG = TRUE;
+ PBoolean addQSIG = TRUE;
for (int i = 0; i < protos.GetSize(); ++i)
{
if ((protos[i].GetTag() == H225_TunnelledProtocol_id::e_tunnelledProtocolObjectID) &&
@@ -1153,7 +1151,7 @@
return TRUE;
}
-BOOL MyH323Connection::EmbedTunneledInfo(H323SignalPDU &pdu)
+PBoolean MyH323Connection::EmbedTunneledInfo(H323SignalPDU &pdu)
{
if ((tunnelOptions & H323_TUNNEL_QSIG) || (remoteTunnelOptions & H323_TUNNEL_QSIG))
EmbedQSIGTunneledInfo(pdu);
@@ -1164,7 +1162,7 @@
}
/* Handle tunneled messages */
-BOOL MyH323Connection::HandleSignalPDU(H323SignalPDU &pdu)
+PBoolean MyH323Connection::HandleSignalPDU(H323SignalPDU &pdu)
{
if (pdu.GetQ931().HasIE(Q931::UserUserIE)) {
Q931 tunneledInfo;
@@ -1199,7 +1197,7 @@
}
#endif
-BOOL MyH323Connection::OnReceivedSignalSetup(const H323SignalPDU & setupPDU)
+PBoolean MyH323Connection::OnReceivedSignalSetup(const H323SignalPDU & setupPDU)
{
call_details_t cd;
@@ -1235,7 +1233,7 @@
return H323Connection::OnReceivedSignalSetup(setupPDU);
}
-BOOL MyH323Connection::OnSendSignalSetup(H323SignalPDU & setupPDU)
+PBoolean MyH323Connection::OnSendSignalSetup(H323SignalPDU & setupPDU)
{
call_details_t cd;
@@ -1285,7 +1283,7 @@
return H323Connection::OnSendSignalSetup(setupPDU);
}
-static BOOL BuildFastStartList(const H323Channel & channel,
+static PBoolean BuildFastStartList(const H323Channel & channel,
H225_ArrayOf_PASN_OctetString & array,
H323Channel::Directions reverseDirection)
{
@@ -1474,7 +1472,7 @@
signallingChannel->SetWriteTimeout(100);
- BOOL connectFailed = !signallingChannel->Connect();
+ PBoolean connectFailed = !signallingChannel->Connect();
// Lock while checking for shutting down.
if (!Lock())
@@ -1549,14 +1547,14 @@
setupPDU.GetQ931().GetCalledPartyNumber(remotePartyNumber);
fastStartState = FastStartDisabled;
- BOOL set_lastPDUWasH245inSETUP = FALSE;
+ PBoolean set_lastPDUWasH245inSETUP = FALSE;
if (h245Tunneling && doH245inSETUP) {
h245TunnelTxPDU = &setupPDU;
// Try and start the master/slave and capability exchange through the tunnel
// Note: this used to be disallowed but is now allowed as of H323v4
- BOOL ok = StartControlNegotiations();
+ PBoolean ok = StartControlNegotiations();
h245TunnelTxPDU = NULL;
@@ -1590,7 +1588,7 @@
}
-BOOL MyH323Connection::OnSendReleaseComplete(H323SignalPDU & releaseCompletePDU)
+PBoolean MyH323Connection::OnSendReleaseComplete(H323SignalPDU & releaseCompletePDU)
{
if (h323debug) {
cout << "\t-- Sending RELEASE COMPLETE" << endl;
@@ -1605,7 +1603,7 @@
return H323Connection::OnSendReleaseComplete(releaseCompletePDU);
}
-BOOL MyH323Connection::OnReceivedFacility(const H323SignalPDU & pdu)
+PBoolean MyH323Connection::OnReceivedFacility(const H323SignalPDU & pdu)
{
if (h323debug) {
cout << "\t-- Received Facility message... " << endl;
@@ -1623,7 +1621,7 @@
return H323Connection::OnReceivedReleaseComplete(pdu);
}
-BOOL MyH323Connection::OnClosingLogicalChannel(H323Channel & channel)
+PBoolean MyH323Connection::OnClosingLogicalChannel(H323Channel & channel)
{
if (h323debug) {
cout << "\t-- Closing logical channel..." << endl;
@@ -1696,7 +1694,7 @@
on_setcapabilities(GetCallReference(), (const char *)callToken);
}
-BOOL MyH323Connection::OnReceivedCapabilitySet(const H323Capabilities & remoteCaps,
+PBoolean MyH323Connection::OnReceivedCapabilitySet(const H323Capabilities & remoteCaps,
const H245_MultiplexCapability * muxCap,
H245_TerminalCapabilitySetReject & reject)
{
@@ -1863,7 +1861,7 @@
/** This callback function is invoked once upon creation of each
* channel for an H323 session
*/
-BOOL MyH323Connection::OnStartLogicalChannel(H323Channel & channel)
+PBoolean MyH323Connection::OnStartLogicalChannel(H323Channel & channel)
{
/* Increase the count of channels we have open */
channelsOpen++;
@@ -2039,7 +2037,7 @@
}
}
-BOOL MyH323Connection::StartControlChannel(const H225_TransportAddress & h245Address)
+PBoolean MyH323Connection::StartControlChannel(const H225_TransportAddress & h245Address)
{
// Check that it is an IP address, all we support at the moment
if (h245Address.GetTag() != H225_TransportAddress::e_ipAddress
@@ -2095,7 +2093,7 @@
}
#endif
-void MyH323Connection::MyHoldCall(BOOL isHold)
+void MyH323Connection::MyHoldCall(PBoolean isHold)
{
if (((holdHandling & H323_HOLD_NOTIFY) != 0) || ((holdHandling & H323_HOLD_Q931ONLY) != 0)) {
PBYTEArray x ((const BYTE *)(isHold ? "\xF9" : "\xFA"), 1);
@@ -2158,7 +2156,7 @@
}
}
-BOOL MyH323_ExternalRTPChannel::Start(void)
+PBoolean MyH323_ExternalRTPChannel::Start(void)
{
/* Call ancestor first */
if (!H323_ExternalRTPChannel::Start()) {
@@ -2185,7 +2183,7 @@
return TRUE;
}
-BOOL MyH323_ExternalRTPChannel::OnReceivedAckPDU(const H245_H2250LogicalChannelAckParameters & param)
+PBoolean MyH323_ExternalRTPChannel::OnReceivedAckPDU(const H245_H2250LogicalChannelAckParameters & param)
{
if (h323debug) {
cout << " MyH323_ExternalRTPChannel::OnReceivedAckPDU" << endl;
@@ -2583,7 +2581,7 @@
int h323_soft_hangup(const char *data)
{
PString token(data);
- BOOL result;
+ PBoolean result;
cout << "Soft hangup" << endl;
result = endPoint->ClearCall(token);
return result;
@@ -2618,7 +2616,7 @@
[... 7550 lines stripped ...]
More information about the asterisk-commits
mailing list