[asterisk-commits] branch bweschke/polycom_acd_functions - r8644 in
/team/bweschke/polycom_acd_f...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Wed Jan 25 05:19:29 MST 2006
Author: bweschke
Date: Wed Jan 25 06:18:56 2006
New Revision: 8644
URL: http://svn.digium.com/view/asterisk?rev=8644&view=rev
Log:
Bringing up to date with /trunk - fixing channel.c timebomb bug too.
Added:
team/bweschke/polycom_acd_functions/configs/udptl.conf.sample
- copied unchanged from r8642, trunk/configs/udptl.conf.sample
team/bweschke/polycom_acd_functions/doc/README.callingpres
- copied unchanged from r8642, trunk/doc/README.callingpres
team/bweschke/polycom_acd_functions/res/res_clioriginate.c
- copied unchanged from r8642, trunk/res/res_clioriginate.c
Removed:
team/bweschke/polycom_acd_functions/ChangeLog
Modified:
team/bweschke/polycom_acd_functions/ (props changed)
team/bweschke/polycom_acd_functions/Makefile
team/bweschke/polycom_acd_functions/app.c
team/bweschke/polycom_acd_functions/apps/Makefile
team/bweschke/polycom_acd_functions/apps/app_authenticate.c
team/bweschke/polycom_acd_functions/apps/app_chanspy.c
team/bweschke/polycom_acd_functions/apps/app_curl.c
team/bweschke/polycom_acd_functions/apps/app_db.c
team/bweschke/polycom_acd_functions/apps/app_dial.c
team/bweschke/polycom_acd_functions/apps/app_dictate.c
team/bweschke/polycom_acd_functions/apps/app_directory.c
team/bweschke/polycom_acd_functions/apps/app_disa.c
team/bweschke/polycom_acd_functions/apps/app_exec.c
team/bweschke/polycom_acd_functions/apps/app_externalivr.c
team/bweschke/polycom_acd_functions/apps/app_festival.c
team/bweschke/polycom_acd_functions/apps/app_hasnewvoicemail.c
team/bweschke/polycom_acd_functions/apps/app_image.c
team/bweschke/polycom_acd_functions/apps/app_macro.c
team/bweschke/polycom_acd_functions/apps/app_meetme.c
team/bweschke/polycom_acd_functions/apps/app_milliwatt.c
team/bweschke/polycom_acd_functions/apps/app_mixmonitor.c
team/bweschke/polycom_acd_functions/apps/app_osplookup.c
team/bweschke/polycom_acd_functions/apps/app_page.c
team/bweschke/polycom_acd_functions/apps/app_parkandannounce.c
team/bweschke/polycom_acd_functions/apps/app_playback.c
team/bweschke/polycom_acd_functions/apps/app_privacy.c
team/bweschke/polycom_acd_functions/apps/app_queue.c
team/bweschke/polycom_acd_functions/apps/app_random.c
team/bweschke/polycom_acd_functions/apps/app_read.c
team/bweschke/polycom_acd_functions/apps/app_readfile.c
team/bweschke/polycom_acd_functions/apps/app_record.c
team/bweschke/polycom_acd_functions/apps/app_sayunixtime.c
team/bweschke/polycom_acd_functions/apps/app_senddtmf.c
team/bweschke/polycom_acd_functions/apps/app_sendtext.c
team/bweschke/polycom_acd_functions/apps/app_setcallerid.c
team/bweschke/polycom_acd_functions/apps/app_skel.c
team/bweschke/polycom_acd_functions/apps/app_sms.c
team/bweschke/polycom_acd_functions/apps/app_sql_postgres.c
team/bweschke/polycom_acd_functions/apps/app_stack.c
team/bweschke/polycom_acd_functions/apps/app_talkdetect.c
team/bweschke/polycom_acd_functions/apps/app_transfer.c
team/bweschke/polycom_acd_functions/apps/app_url.c
team/bweschke/polycom_acd_functions/apps/app_userevent.c
team/bweschke/polycom_acd_functions/apps/app_verbose.c
team/bweschke/polycom_acd_functions/apps/app_voicemail.c
team/bweschke/polycom_acd_functions/apps/app_while.c
team/bweschke/polycom_acd_functions/apps/app_zapras.c
team/bweschke/polycom_acd_functions/ast_expr2.fl
team/bweschke/polycom_acd_functions/ast_expr2.y
team/bweschke/polycom_acd_functions/asterisk.8
team/bweschke/polycom_acd_functions/asterisk.c
team/bweschke/polycom_acd_functions/callerid.c
team/bweschke/polycom_acd_functions/cdr/cdr_pgsql.c
team/bweschke/polycom_acd_functions/channel.c
team/bweschke/polycom_acd_functions/channels/Makefile
team/bweschke/polycom_acd_functions/channels/chan_agent.c
team/bweschke/polycom_acd_functions/channels/chan_alsa.c
team/bweschke/polycom_acd_functions/channels/chan_iax2.c
team/bweschke/polycom_acd_functions/channels/chan_local.c
team/bweschke/polycom_acd_functions/channels/chan_mgcp.c
team/bweschke/polycom_acd_functions/channels/chan_misdn.c
team/bweschke/polycom_acd_functions/channels/chan_oss.c
team/bweschke/polycom_acd_functions/channels/chan_sip.c
team/bweschke/polycom_acd_functions/channels/chan_vpb.c
team/bweschke/polycom_acd_functions/channels/chan_zap.c
team/bweschke/polycom_acd_functions/channels/iax2-provision.c
team/bweschke/polycom_acd_functions/channels/iax2-provision.h
team/bweschke/polycom_acd_functions/cli.c
team/bweschke/polycom_acd_functions/codecs/Makefile
team/bweschke/polycom_acd_functions/codecs/codec_a_mu.c
team/bweschke/polycom_acd_functions/codecs/codec_adpcm.c
team/bweschke/polycom_acd_functions/codecs/codec_alaw.c
team/bweschke/polycom_acd_functions/codecs/codec_g723_1.c
team/bweschke/polycom_acd_functions/codecs/codec_g726.c
team/bweschke/polycom_acd_functions/codecs/codec_gsm.c
team/bweschke/polycom_acd_functions/codecs/codec_ilbc.c
team/bweschke/polycom_acd_functions/codecs/codec_lpc10.c
team/bweschke/polycom_acd_functions/codecs/codec_speex.c
team/bweschke/polycom_acd_functions/codecs/codec_ulaw.c
team/bweschke/polycom_acd_functions/codecs/gsm/Makefile
team/bweschke/polycom_acd_functions/config.c
team/bweschke/polycom_acd_functions/configs/agents.conf.sample
team/bweschke/polycom_acd_functions/configs/alsa.conf.sample
team/bweschke/polycom_acd_functions/configs/features.conf.sample
team/bweschke/polycom_acd_functions/configs/queues.conf.sample
team/bweschke/polycom_acd_functions/configs/sip.conf.sample
team/bweschke/polycom_acd_functions/configs/zapata.conf.sample
team/bweschke/polycom_acd_functions/contrib/scripts/safe_asterisk
team/bweschke/polycom_acd_functions/devicestate.c
team/bweschke/polycom_acd_functions/doc/CODING-GUIDELINES
team/bweschke/polycom_acd_functions/doc/README.variables
team/bweschke/polycom_acd_functions/doc/manager.txt
team/bweschke/polycom_acd_functions/doc/queuelog.txt
team/bweschke/polycom_acd_functions/dsp.c
team/bweschke/polycom_acd_functions/enum.c
team/bweschke/polycom_acd_functions/formats/Makefile
team/bweschke/polycom_acd_functions/formats/format_pcm.c
team/bweschke/polycom_acd_functions/formats/format_pcm_alaw.c
team/bweschke/polycom_acd_functions/funcs/Makefile
team/bweschke/polycom_acd_functions/funcs/func_cdr.c
team/bweschke/polycom_acd_functions/funcs/func_cut.c
team/bweschke/polycom_acd_functions/funcs/func_db.c
team/bweschke/polycom_acd_functions/funcs/func_logic.c
team/bweschke/polycom_acd_functions/funcs/func_math.c
team/bweschke/polycom_acd_functions/funcs/func_md5.c
team/bweschke/polycom_acd_functions/funcs/func_odbc.c
team/bweschke/polycom_acd_functions/funcs/func_rand.c
team/bweschke/polycom_acd_functions/funcs/func_strings.c
team/bweschke/polycom_acd_functions/include/asterisk/app.h
team/bweschke/polycom_acd_functions/include/asterisk/astosp.h
team/bweschke/polycom_acd_functions/include/asterisk/channel.h
team/bweschke/polycom_acd_functions/include/asterisk/cli.h
team/bweschke/polycom_acd_functions/include/asterisk/doxyref.h
team/bweschke/polycom_acd_functions/include/asterisk/frame.h
team/bweschke/polycom_acd_functions/include/asterisk/module.h
team/bweschke/polycom_acd_functions/include/asterisk/monitor.h
team/bweschke/polycom_acd_functions/include/asterisk/utils.h
team/bweschke/polycom_acd_functions/loader.c
team/bweschke/polycom_acd_functions/logger.c
team/bweschke/polycom_acd_functions/manager.c
team/bweschke/polycom_acd_functions/pbx.c
team/bweschke/polycom_acd_functions/pbx/Makefile
team/bweschke/polycom_acd_functions/pbx/pbx_config.c
team/bweschke/polycom_acd_functions/pbx/pbx_dundi.c
team/bweschke/polycom_acd_functions/res/Makefile
team/bweschke/polycom_acd_functions/res/res_agi.c
team/bweschke/polycom_acd_functions/res/res_crypto.c
team/bweschke/polycom_acd_functions/res/res_features.c
team/bweschke/polycom_acd_functions/res/res_indications.c
team/bweschke/polycom_acd_functions/res/res_monitor.c
team/bweschke/polycom_acd_functions/res/res_musiconhold.c
team/bweschke/polycom_acd_functions/res/res_osp.c
team/bweschke/polycom_acd_functions/rtp.c
team/bweschke/polycom_acd_functions/udptl.c
team/bweschke/polycom_acd_functions/utils/Makefile
team/bweschke/polycom_acd_functions/utils/astman.c
Propchange: team/bweschke/polycom_acd_functions/
------------------------------------------------------------------------------
--- svnmerge-blocked (original)
+++ svnmerge-blocked Wed Jan 25 06:18:56 2006
@@ -1,1 +1,1 @@
-/branches/1.2:7497,7915,7960,7965,7970,7976
+/branches/1.2:7490,7497,7517,7529,7546,7550,7552,7557,7580,7586,7595,7605,7641,7663,7706,7738,7771,7792,7812,7870-7871,7898-7900,7915,7960,7965,7970,7976,8047,8112,8124,8134,8394,8412,8414,8418,8429,8433,8445,8562,8573,8600,8619
Propchange: team/bweschke/polycom_acd_functions/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed Jan 25 06:18:56 2006
@@ -1,1 +1,1 @@
-/trunk:1-8061
+/trunk:1-8642
Modified: team/bweschke/polycom_acd_functions/Makefile
URL: http://svn.digium.com/view/asterisk/team/bweschke/polycom_acd_functions/Makefile?rev=8644&r1=8643&r2=8644&view=diff
==============================================================================
--- team/bweschke/polycom_acd_functions/Makefile (original)
+++ team/bweschke/polycom_acd_functions/Makefile Wed Jan 25 06:18:56 2006
@@ -106,7 +106,7 @@
# Detect the busy signal looking only at tone lengths
# For example if you have 3 beeps 100ms tone, 100ms silence separated by 500 ms of silence
BUSYDETECT+= #-DBUSYDETECT_TONEONLY
-# Inforce the detection of busy singal (get rid of false hangups)
+# Enforce the detection of busy signal (get rid of false hangups)
# Don't use together with -DBUSYDETECT_TONEONLY
BUSYDETECT+= #-DBUSYDETECT_COMPARE_TONE_AND_SILENCE
Modified: team/bweschke/polycom_acd_functions/app.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/polycom_acd_functions/app.c?rev=8644&r1=8643&r2=8644&view=diff
==============================================================================
--- team/bweschke/polycom_acd_functions/app.c (original)
+++ team/bweschke/polycom_acd_functions/app.c Wed Jan 25 06:18:56 2006
@@ -55,7 +55,7 @@
/* !
This function presents a dialtone and reads an extension into 'collect'
-which must be a pointer to a **pre-initilized** array of char having a
+which must be a pointer to a **pre-initialized** array of char having a
size of 'size' suitable for writing to. It will collect no more than the smaller
of 'maxlen' or 'size' minus the original strlen() of collect digits.
\return 0 if extension does not exist, 1 if extension exists
@@ -1109,7 +1109,7 @@
{
int argc;
char *scan;
- int paren = 0;
+ int paren = 0, quote = 0;
if (!buf || !array || !arraylen)
return 0;
@@ -1126,7 +1126,15 @@
else if (*scan == ')') {
if (paren)
paren--;
- } else if ((*scan == delim) && !paren) {
+ } else if (*scan == '"') {
+ quote = quote ? 0 : 1;
+ /* Remove quote character from argument */
+ memmove(scan, scan + 1, strlen(scan));
+ scan--;
+ } else if (*scan == '\\') {
+ /* Literal character, don't parse */
+ memmove(scan, scan + 1, strlen(scan));
+ } else if ((*scan == delim) && !paren && !quote) {
*scan++ = '\0';
break;
}
Modified: team/bweschke/polycom_acd_functions/apps/Makefile
URL: http://svn.digium.com/view/asterisk/team/bweschke/polycom_acd_functions/apps/Makefile?rev=8644&r1=8643&r2=8644&view=diff
==============================================================================
--- team/bweschke/polycom_acd_functions/apps/Makefile (original)
+++ team/bweschke/polycom_acd_functions/apps/Makefile Wed Jan 25 06:18:56 2006
@@ -50,10 +50,6 @@
APPS+=app_osplookup.so
endif
-ifeq ($(findstring BSD,${OSARCH}),BSD)
-CFLAGS+=-I$(CROSS_COMPILE_TARGET)/usr/local/include -L$(CROSS_COMPILE_TARGET)/usr/local/lib
-endif
-
CURLLIBS=$(shell $(CROSS_COMPILE_BIN)curl-config --libs)
ifneq ($(shell if [[ 0x`$(CROSS_COMPILE_BIN)curl-config --vernum` -ge 0x70907 ]]; then echo "OK" ; fi),)
ifneq (${CURLLIBS},)
@@ -100,7 +96,7 @@
$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} $(CURLLIBS)
app_sql_postgres.o: app_sql_postgres.c
- $(CC) -pipe -I/usr/local/pgsql/include $(CFLAGS) -c -o app_sql_postgres.o app_sql_postgres.c
+ $(CC) -pipe -I$(CROSS_COMPILE_TARGET)/usr/local/pgsql/include -I$(CROSS_COMPILE_TARGET)/usr/include/postgresql $(CFLAGS) -c -o app_sql_postgres.o app_sql_postgres.c
app_sql_postgres.so: app_sql_postgres.o
$(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB} -L/usr/local/pgsql/lib -lpq
Modified: team/bweschke/polycom_acd_functions/apps/app_authenticate.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/polycom_acd_functions/apps/app_authenticate.c?rev=8644&r1=8643&r2=8644&view=diff
==============================================================================
--- team/bweschke/polycom_acd_functions/apps/app_authenticate.c (original)
+++ team/bweschke/polycom_acd_functions/apps/app_authenticate.c Wed Jan 25 06:18:56 2006
@@ -128,9 +128,7 @@
}
}
- argcopy = ast_strdupa(data);
- if (!argcopy) {
- ast_log(LOG_ERROR, "Out of memory!\n");
+ if (!(argcopy = ast_strdupa(data))) {
LOCAL_USER_REMOVE(u);
return -1;
}
Modified: team/bweschke/polycom_acd_functions/apps/app_chanspy.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/polycom_acd_functions/apps/app_chanspy.c?rev=8644&r1=8643&r2=8644&view=diff
==============================================================================
--- team/bweschke/polycom_acd_functions/apps/app_chanspy.c (original)
+++ team/bweschke/polycom_acd_functions/apps/app_chanspy.c Wed Jan 25 06:18:56 2006
@@ -383,10 +383,8 @@
struct ast_flags flags;
signed char zero_volume = 0;
- if (!(args = ast_strdupa((char *)data))) {
- ast_log(LOG_ERROR, "Out of memory!\n");
+ if (!(args = ast_strdupa(data)))
return -1;
- }
LOCAL_USER_ADD(u);
Modified: team/bweschke/polycom_acd_functions/apps/app_curl.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/polycom_acd_functions/apps/app_curl.c?rev=8644&r1=8643&r2=8644&view=diff
==============================================================================
--- team/bweschke/polycom_acd_functions/apps/app_curl.c (original)
+++ team/bweschke/polycom_acd_functions/apps/app_curl.c Wed Jan 25 06:18:56 2006
@@ -128,9 +128,7 @@
LOCAL_USER_ACF_ADD(u);
- info = ast_strdupa(data);
- if (!info) {
- ast_log(LOG_ERROR, "Out of memory\n");
+ if (!(info = ast_strdupa(data))) {
LOCAL_USER_REMOVE(u);
return buf;
}
Modified: team/bweschke/polycom_acd_functions/apps/app_db.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/polycom_acd_functions/apps/app_db.c?rev=8644&r1=8643&r2=8644&view=diff
==============================================================================
--- team/bweschke/polycom_acd_functions/apps/app_db.c (original)
+++ team/bweschke/polycom_acd_functions/apps/app_db.c Wed Jan 25 06:18:56 2006
@@ -75,9 +75,7 @@
LOCAL_USER_ADD(u);
- argv = ast_strdupa(data);
- if (!argv) {
- ast_log(LOG_ERROR, "Memory allocation failed\n");
+ if (!(argv = ast_strdupa(data))) {
LOCAL_USER_REMOVE(u);
return 0;
}
@@ -121,9 +119,7 @@
LOCAL_USER_ADD(u);
- argv = ast_strdupa(data);
- if (!argv) {
- ast_log (LOG_ERROR, "Memory allocation failed\n");
+ if (!(argv = ast_strdupa(data))) {
LOCAL_USER_REMOVE(u);
return 0;
}
Modified: team/bweschke/polycom_acd_functions/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/polycom_acd_functions/apps/app_dial.c?rev=8644&r1=8643&r2=8644&view=diff
==============================================================================
--- team/bweschke/polycom_acd_functions/apps/app_dial.c (original)
+++ team/bweschke/polycom_acd_functions/apps/app_dial.c Wed Jan 25 06:18:56 2006
@@ -189,30 +189,30 @@
"to the Dial application.\n";
enum {
- OPT_ANNOUNCE = (1 << 0),
- OPT_RESETCDR = (1 << 1),
- OPT_DTMF_EXIT = (1 << 2),
- OPT_SENDDTMF = (1 << 3),
- OPT_FORCECLID = (1 << 4),
- OPT_GO_ON = (1 << 5),
- OPT_CALLEE_HANGUP = (1 << 6),
- OPT_CALLER_HANGUP = (1 << 7),
- OPT_PRIORITY_JUMP = (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_SCREENING = (1 << 15),
- OPT_PRIVACY = (1 << 16),
- OPT_RINGBACK = (1 << 17),
- OPT_DURATION_STOP = (1 << 18),
- OPT_CALLEE_TRANSFER = (1 << 19),
- OPT_CALLER_TRANSFER = (1 << 20),
- OPT_CALLEE_MONITOR = (1 << 21),
- OPT_CALLER_MONITOR = (1 << 22),
- OPT_GOTO = (1 << 23),
+ OPT_ANNOUNCE = (1 << 0),
+ OPT_RESETCDR = (1 << 1),
+ OPT_DTMF_EXIT = (1 << 2),
+ OPT_SENDDTMF = (1 << 3),
+ OPT_FORCECLID = (1 << 4),
+ OPT_GO_ON = (1 << 5),
+ OPT_CALLEE_HANGUP = (1 << 6),
+ OPT_CALLER_HANGUP = (1 << 7),
+ OPT_PRIORITY_JUMP = (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_SCREENING = (1 << 15),
+ OPT_PRIVACY = (1 << 16),
+ OPT_RINGBACK = (1 << 17),
+ OPT_DURATION_STOP = (1 << 18),
+ OPT_CALLEE_TRANSFER = (1 << 19),
+ OPT_CALLER_TRANSFER = (1 << 20),
+ OPT_CALLEE_MONITOR = (1 << 21),
+ OPT_CALLER_MONITOR = (1 << 22),
+ OPT_GOTO = (1 << 23),
} dial_exec_option_flags;
#define DIAL_STILLGOING (1 << 30)
@@ -425,7 +425,7 @@
ast_goto_if_exists(in, in->context, in->exten, in->priority + 101);
} else {
if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_2 "No one is available to answer at this time (%d:%d/%d/%d)\n", numlines, numbusy, numcongestion, numnochan);
+ ast_verbose(VERBOSE_PREFIX_3 "No one is available to answer at this time (%d:%d/%d/%d)\n", numlines, numbusy, numcongestion, numnochan);
}
*to = 0;
return NULL;
@@ -436,7 +436,7 @@
if (ast_test_flag(o, DIAL_STILLGOING) && o->chan && (o->chan->_state == AST_STATE_UP)) {
if (!peer) {
if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_3 "%s answered %s\n", o->chan->name, in->name);
+ ast_verbose(VERBOSE_PREFIX_3 "%s answered %s\n", o->chan->name, in->name);
peer = o->chan;
ast_copy_flags(peerflags, o,
OPT_CALLEE_TRANSFER | OPT_CALLER_TRANSFER |
@@ -449,13 +449,16 @@
char tmpchan[256];
char *stuff;
char *tech;
+ const char *forward_context;
+
ast_copy_string(tmpchan, o->chan->call_forward, sizeof(tmpchan));
if ((stuff = strchr(tmpchan, '/'))) {
*stuff = '\0';
stuff++;
tech = tmpchan;
} else {
- snprintf(tmpchan, sizeof(tmpchan), "%s@%s", o->chan->call_forward, o->chan->context);
+ forward_context = pbx_builtin_getvar_helper(o->chan, "FORWARD_CONTEXT");
+ snprintf(tmpchan, sizeof(tmpchan), "%s@%s", o->chan->call_forward, forward_context ? forward_context : o->chan->context);
stuff = tmpchan;
tech = "Local";
}
@@ -565,7 +568,7 @@
break;
case AST_CONTROL_BUSY:
if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_3 "%s is busy\n", o->chan->name);
+ ast_verbose(VERBOSE_PREFIX_3 "%s is busy\n", o->chan->name);
in->hangupcause = o->chan->hangupcause;
ast_hangup(o->chan);
o->chan = NULL;
@@ -574,7 +577,7 @@
break;
case AST_CONTROL_CONGESTION:
if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_3 "%s is circuit-busy\n", o->chan->name);
+ ast_verbose(VERBOSE_PREFIX_3 "%s is circuit-busy\n", o->chan->name);
in->hangupcause = o->chan->hangupcause;
ast_hangup(o->chan);
o->chan = NULL;
@@ -583,7 +586,7 @@
break;
case AST_CONTROL_RINGING:
if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_3 "%s is ringing\n", o->chan->name);
+ ast_verbose(VERBOSE_PREFIX_3 "%s is ringing\n", o->chan->name);
if (!(*sentringing) && !ast_test_flag(outgoing, OPT_MUSICBACK)) {
ast_indicate(in, AST_CONTROL_RINGING);
(*sentringing)++;
@@ -591,18 +594,18 @@
break;
case AST_CONTROL_PROGRESS:
if (option_verbose > 2)
- ast_verbose ( VERBOSE_PREFIX_3 "%s is making progress passing it to %s\n", o->chan->name,in->name);
+ ast_verbose (VERBOSE_PREFIX_3 "%s is making progress passing it to %s\n", o->chan->name,in->name);
if (!ast_test_flag(outgoing, OPT_RINGBACK))
ast_indicate(in, AST_CONTROL_PROGRESS);
break;
case AST_CONTROL_VIDUPDATE:
if (option_verbose > 2)
- ast_verbose ( VERBOSE_PREFIX_3 "%s requested a video update, passing it to %s\n", o->chan->name,in->name);
+ ast_verbose (VERBOSE_PREFIX_3 "%s requested a video update, passing it to %s\n", o->chan->name,in->name);
ast_indicate(in, AST_CONTROL_VIDUPDATE);
break;
case AST_CONTROL_PROCEEDING:
if (option_verbose > 2)
- ast_verbose ( VERBOSE_PREFIX_3 "%s is proceeding passing it to %s\n", o->chan->name,in->name);
+ ast_verbose (VERBOSE_PREFIX_3 "%s is proceeding passing it to %s\n", o->chan->name,in->name);
if (!ast_test_flag(outgoing, OPT_RINGBACK))
ast_indicate(in, AST_CONTROL_PROCEEDING);
break;
@@ -623,28 +626,30 @@
case -1:
if (!ast_test_flag(outgoing, OPT_RINGBACK | OPT_MUSICBACK)) {
if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_3 "%s stopped sounds\n", o->chan->name);
+ ast_verbose(VERBOSE_PREFIX_3 "%s stopped sounds\n", o->chan->name);
ast_indicate(in, -1);
(*sentringing) = 0;
}
break;
default:
- ast_log(LOG_DEBUG, "Dunno what to do with control type %d\n", f->subclass);
+ if (option_debug)
+ ast_log(LOG_DEBUG, "Dunno what to do with control type %d\n", f->subclass);
}
} else if (single && (f->frametype == AST_FRAME_VOICE) &&
!(ast_test_flag(outgoing, OPT_RINGBACK|OPT_MUSICBACK))) {
if (ast_write(in, f))
- ast_log(LOG_DEBUG, "Unable to forward frame\n");
+ ast_log(LOG_WARNING, "Unable to forward voice frame\n");
} else if (single && (f->frametype == AST_FRAME_IMAGE) &&
!(ast_test_flag(outgoing, OPT_RINGBACK|OPT_MUSICBACK))) {
if (ast_write(in, f))
- ast_log(LOG_DEBUG, "Unable to forward image\n");
+ ast_log(LOG_WARNING, "Unable to forward image\n");
} else if (single && (f->frametype == AST_FRAME_TEXT) &&
!(ast_test_flag(outgoing, OPT_RINGBACK|OPT_MUSICBACK))) {
if (ast_write(in, f))
- ast_log(LOG_DEBUG, "Unable to text\n");
+ ast_log(LOG_WARNING, "Unable to send text\n");
} else if (single && (f->frametype == AST_FRAME_HTML) && !ast_test_flag(outgoing, DIAL_NOFORWARDHTML))
- ast_channel_sendhtml(in, f->subclass, f->data, f->datalen);
+ if(ast_channel_sendhtml(in, f->subclass, f->data, f->datalen) == -1)
+ ast_log(LOG_WARNING, "Unable to send URL\n");
ast_frfree(f);
} else {
@@ -652,6 +657,7 @@
ast_hangup(o->chan);
o->chan = NULL;
ast_clear_flag(o, DIAL_STILLGOING);
+ HANDLE_CAUSE(in->hangupcause, in);
}
}
o = o->next;
@@ -666,7 +672,7 @@
#endif
if (!f || ((f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_HANGUP))) {
/* Got hung up */
- *to=-1;
+ *to = -1;
strcpy(status, "CANCEL");
if (f)
ast_frfree(f);
@@ -677,7 +683,7 @@
if (ast_test_flag(peerflags, OPT_DTMF_EXIT)) {
context = pbx_builtin_getvar_helper(in, "EXITCONTEXT");
if (onedigit_goto(in, context, (char) f->subclass, 1)) {
- if (option_verbose > 3)
+ if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "User hit %c to disconnect call.\n", f->subclass);
*to=0;
*result = f->subclass;
@@ -688,8 +694,8 @@
}
if (ast_test_flag(peerflags, OPT_CALLER_HANGUP) &&
- (f->subclass == '*')) { /* hmm it it not guarenteed to be '*' anymore. */
- if (option_verbose > 3)
+ (f->subclass == '*')) { /* hmm it it not guaranteed to be '*' anymore. */
+ if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "User hit %c to disconnect call.\n", f->subclass);
*to=0;
strcpy(status, "CANCEL");
@@ -700,7 +706,8 @@
/* Forward HTML stuff */
if (single && f && (f->frametype == AST_FRAME_HTML) && !ast_test_flag(outgoing, DIAL_NOFORWARDHTML))
- ast_channel_sendhtml(outgoing->chan, f->subclass, f->data, f->datalen);
+ if(ast_channel_sendhtml(outgoing->chan, f->subclass, f->data, f->datalen) == -1)
+ ast_log(LOG_WARNING, "Unable to send URL\n");
if (single && ((f->frametype == AST_FRAME_VOICE) || (f->frametype == AST_FRAME_DTMF))) {
@@ -709,13 +716,13 @@
}
if (single && (f->frametype == AST_FRAME_CONTROL) && (f->subclass == AST_CONTROL_VIDUPDATE)) {
if (option_verbose > 2)
- ast_verbose ( VERBOSE_PREFIX_3 "%s requested a video update, passing it to %s\n", in->name,outgoing->chan->name);
+ ast_verbose(VERBOSE_PREFIX_3 "%s requested a video update, passing it to %s\n", in->name,outgoing->chan->name);
ast_indicate(outgoing->chan, AST_CONTROL_VIDUPDATE);
}
ast_frfree(f);
}
if (!*to && (option_verbose > 2))
- ast_verbose( VERBOSE_PREFIX_3 "Nobody picked up in %d ms\n", orig);
+ ast_verbose(VERBOSE_PREFIX_3 "Nobody picked up in %d ms\n", orig);
}
return peer;
@@ -781,7 +788,6 @@
LOCAL_USER_ADD(u);
if (!(parse = ast_strdupa(data))) {
- ast_log(LOG_WARNING, "Memory allocation failure\n");
LOCAL_USER_REMOVE(u);
return -1;
}
@@ -804,7 +810,7 @@
if (ast_test_flag(&opts, OPT_DURATION_STOP) && !ast_strlen_zero(opt_args[OPT_ARG_DURATION_STOP])) {
calldurationlimit = atoi(opt_args[OPT_ARG_DURATION_STOP]);
if (option_verbose > 2)
- ast_verbose(VERBOSE_PREFIX_3 "Setting call duration limit to %d seconds.\n",calldurationlimit);
+ ast_verbose(VERBOSE_PREFIX_3 "Setting call duration limit to %d seconds.\n", calldurationlimit);
}
if (ast_test_flag(&opts, OPT_SENDDTMF) && !ast_strlen_zero(opt_args[OPT_ARG_SENDDTMF])) {
@@ -881,13 +887,13 @@
ast_shrink_phone_number(l);
if( ast_test_flag(&opts, OPT_PRIVACY) ) {
if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_3 "Privacy DB is '%s', clid is '%s'\n",
+ ast_verbose(VERBOSE_PREFIX_3 "Privacy DB is '%s', clid is '%s'\n",
opt_args[OPT_ARG_PRIVACY], l);
privdb_val = ast_privacy_check(opt_args[OPT_ARG_PRIVACY], l);
}
else {
if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_3 "Privacy Screening, clid is '%s'\n", l);
+ ast_verbose(VERBOSE_PREFIX_3 "Privacy Screening, clid is '%s'\n", l);
privdb_val = AST_PRIVACY_UNKNOWN;
}
} else {
@@ -900,7 +906,7 @@
*tn2 = '='; /* any other chars to be afraid of? */
}
if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_3 "Privacy-- callerid is empty\n");
+ ast_verbose(VERBOSE_PREFIX_3 "Privacy-- callerid is empty\n");
snprintf(callerid, sizeof(callerid), "NOCALLERID_%s%s", chan->exten, tnam);
l = callerid;
@@ -914,35 +920,36 @@
ast_verbose( VERBOSE_PREFIX_3 "CallerID set (%s); N option set; Screening should be off\n", privcid);
privdb_val = AST_PRIVACY_ALLOW;
}
- else if( ast_test_flag(&opts, OPT_SCREEN_NOCLID) && strncmp(privcid,"NOCALLERID",10) == 0 ) {
+ else if(ast_test_flag(&opts, OPT_SCREEN_NOCLID) && strncmp(privcid,"NOCALLERID",10) == 0 ) {
if (option_verbose > 2)
ast_verbose( VERBOSE_PREFIX_3 "CallerID blank; N option set; Screening should happen; dbval is %d\n", privdb_val);
}
- if( privdb_val == AST_PRIVACY_DENY ) {
- ast_verbose( VERBOSE_PREFIX_3 "Privacy DB reports PRIVACY_DENY for this callerid. Dial reports unavailable\n");
+ if(privdb_val == AST_PRIVACY_DENY ) {
+ if (option_verbose > 2)
+ ast_verbose( VERBOSE_PREFIX_3 "Privacy DB reports PRIVACY_DENY for this callerid. Dial reports unavailable\n");
res=0;
goto out;
}
- else if( privdb_val == AST_PRIVACY_KILL ) {
+ else if(privdb_val == AST_PRIVACY_KILL ) {
ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 201);
res = 0;
goto out; /* Is this right? */
}
- else if( privdb_val == AST_PRIVACY_TORTURE ) {
+ else if(privdb_val == AST_PRIVACY_TORTURE ) {
ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 301);
res = 0;
goto out; /* is this right??? */
}
- else if( privdb_val == AST_PRIVACY_UNKNOWN ) {
+ else if(privdb_val == AST_PRIVACY_UNKNOWN ) {
/* Get the user's intro, store it in priv-callerintros/$CID,
unless it is already there-- this should be done before the
call is actually dialed */
/* make sure the priv-callerintros dir exists? */
- snprintf(privintro,sizeof(privintro),"priv-callerintros/%s", privcid);
+ snprintf(privintro,sizeof(privintro), "priv-callerintros/%s", privcid);
if( ast_fileexists(privintro,NULL,NULL ) > 0 && strncmp(privcid,"NOCALLERID",10) != 0) {
/* the DELUX version of this code would allow this caller the
option to hear and retape their previously recorded intro.
@@ -958,8 +965,8 @@
*/
ast_play_and_record(chan, "priv-recordintro", privintro, 4, "gsm", &duration, 128, 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 privintro file */
+ /* don't think we'll need a lock removed, we took care of
+ conflicts by naming the privintro file */
}
}
}
@@ -1009,7 +1016,7 @@
tmp->chan = ast_request(tech, chan->nativeformats, numsubst, &cause);
if (!tmp->chan) {
/* If we can't, just go on to the next call */
- ast_log(LOG_NOTICE, "Unable to create channel of type '%s' (cause %d - %s)\n", tech, cause, ast_cause2str(cause));
+ ast_log(LOG_WARNING, "Unable to create channel of type '%s' (cause %d - %s)\n", tech, cause, ast_cause2str(cause));
HANDLE_CAUSE(cause, chan);
cur = rest;
if (!cur)
@@ -1200,7 +1207,8 @@
number = numsubst;
pbx_builtin_setvar_helper(chan, "DIALEDPEERNUMBER", number);
if (!ast_strlen_zero(args.url) && ast_channel_supports_html(peer) ) {
- ast_log(LOG_DEBUG, "app_dial: sendurl=%s.\n", args.url);
+ if (option_debug)
+ ast_log(LOG_DEBUG, "app_dial: sendurl=%s.\n", args.url);
ast_channel_sendurl( peer, args.url );
}
if (ast_test_flag(&opts, OPT_PRIVACY) || ast_test_flag(&opts, OPT_SCREENING)) {
@@ -1248,7 +1256,8 @@
if( ast_test_flag(&opts, OPT_SCREENING) )
res2 = ast_play_and_wait(peer,"screen-callee-options");
}
- /* priv-callee-options script:
+ /*! \page DialPrivacy Dial Privacy scripts
+ \par priv-callee-options script:
"Dial 1 if you wish this caller to reach you directly in the future,
and immediately connect to their incoming call
Dial 2 if you wish to send this caller to voicemail now and
@@ -1256,18 +1265,16 @@
Dial 3 to send this callerr to the torture menus, now and forevermore.
Dial 4 to send this caller to a simple "go away" menu, now and forevermore.
Dial 5 to allow this caller to come straight thru to you in the future,
- but right now, just this once, send them to voicemail."
- */
-
- /* screen-callee-options script:
+ but right now, just this once, send them to voicemail."
+ \par screen-callee-options script:
"Dial 1 if you wish to immediately connect to the incoming call
Dial 2 if you wish to send this caller to voicemail.
Dial 3 to send this callerr to the torture menus.
Dial 4 to send this caller to a simple "go away" menu.
*/
- if( !res2 || res2 < '1' || (ast_test_flag(&opts, OPT_PRIVACY) && res2 > '5') || (ast_test_flag(&opts, OPT_SCREENING) && res2 > '4') ) {
+ if(!res2 || res2 < '1' || (ast_test_flag(&opts, OPT_PRIVACY) && res2 > '5') || (ast_test_flag(&opts, OPT_SCREENING) && res2 > '4') ) {
/* invalid option */
- res2 = ast_play_and_wait(peer,"vm-sorry");
+ res2 = ast_play_and_wait(peer, "vm-sorry");
}
loopcount++; /* give the callee a couple chances to make a choice */
} while( (!res2 || res2 < '1' || (ast_test_flag(&opts, OPT_PRIVACY) && res2 > '5') || (ast_test_flag(&opts, OPT_SCREENING) && res2 > '4')) && loopcount < 2 );
@@ -1277,7 +1284,7 @@
case '1':
if( ast_test_flag(&opts, OPT_PRIVACY) ) {
if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_3 "--Set privacy database entry %s/%s to ALLOW\n",
+ ast_verbose(VERBOSE_PREFIX_3 "--Set privacy database entry %s/%s to ALLOW\n",
opt_args[OPT_ARG_PRIVACY], privcid);
ast_privacy_set(opt_args[OPT_ARG_PRIVACY], privcid, AST_PRIVACY_ALLOW);
}
@@ -1285,7 +1292,7 @@
case '2':
if( ast_test_flag(&opts, OPT_PRIVACY) ) {
if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_3 "--Set privacy database entry %s/%s to DENY\n",
+ ast_verbose(VERBOSE_PREFIX_3 "--Set privacy database entry %s/%s to DENY\n",
opt_args[OPT_ARG_PRIVACY], privcid);
ast_privacy_set(opt_args[OPT_ARG_PRIVACY], privcid, AST_PRIVACY_DENY);
}
@@ -1302,7 +1309,7 @@
case '3':
if( ast_test_flag(&opts, OPT_PRIVACY) ) {
if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_3 "--Set privacy database entry %s/%s to TORTURE\n",
+ ast_verbose(VERBOSE_PREFIX_3 "--Set privacy database entry %s/%s to TORTURE\n",
opt_args[OPT_ARG_PRIVACY], privcid);
ast_privacy_set(opt_args[OPT_ARG_PRIVACY], privcid, AST_PRIVACY_TORTURE);
}
@@ -1321,7 +1328,7 @@
case '4':
if( ast_test_flag(&opts, OPT_PRIVACY) ) {
if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_3 "--Set privacy database entry %s/%s to KILL\n",
+ ast_verbose(VERBOSE_PREFIX_3 "--Set privacy database entry %s/%s to KILL\n",
opt_args[OPT_ARG_PRIVACY], privcid);
ast_privacy_set(opt_args[OPT_ARG_PRIVACY], privcid, AST_PRIVACY_KILL);
}
@@ -1340,7 +1347,7 @@
case '5':
if( ast_test_flag(&opts, OPT_PRIVACY) ) {
if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_3 "--Set privacy database entry %s/%s to ALLOW\n",
+ ast_verbose(VERBOSE_PREFIX_3 "--Set privacy database entry %s/%s to ALLOW\n",
opt_args[OPT_ARG_PRIVACY], privcid);
ast_privacy_set(opt_args[OPT_ARG_PRIVACY], privcid, AST_PRIVACY_ALLOW);
if (ast_test_flag(&opts, OPT_MUSICBACK)) {
@@ -1359,8 +1366,7 @@
/* well, there seems basically two choices. Just patch the caller thru immediately,
or,... put 'em thru to voicemail. */
/* since the callee may have hung up, let's do the voicemail thing, no database decision */
- if (option_verbose > 2)
- ast_log(LOG_NOTICE,"privacy: no valid response from the callee. Sending the caller to voicemail, the callee isn't responding\n");
+ ast_log(LOG_NOTICE, "privacy: no valid response from the callee. Sending the caller to voicemail, the callee isn't responding\n");
if (ast_test_flag(&opts, OPT_MUSICBACK)) {
ast_moh_stop(chan);
} else if (ast_test_flag(&opts, OPT_RINGBACK)) {
@@ -1383,10 +1389,10 @@
just clog things up, and it's not useful information, not being tied to a CID */
if( strncmp(privcid,"NOCALLERID",10) == 0 || ast_test_flag(&opts, OPT_SCREEN_NOINTRO) ) {
ast_filedelete(privintro, NULL);
- if( ast_fileexists(privintro,NULL,NULL ) > 0 )
- ast_log(LOG_NOTICE,"privacy: ast_filedelete didn't do its job on %s\n", privintro);
+ if( ast_fileexists(privintro, NULL, NULL ) > 0 )
+ ast_log(LOG_NOTICE, "privacy: ast_filedelete didn't do its job on %s\n", privintro);
else if (option_verbose > 2)
- ast_verbose( VERBOSE_PREFIX_3 "Successfully deleted %s intro file\n", privintro);
+ ast_verbose(VERBOSE_PREFIX_3 "Successfully deleted %s intro file\n", privintro);
}
}
}
@@ -1481,12 +1487,12 @@
} else if (!strcasecmp(macro_result, "ABORT")) {
/* Hangup both ends unless the caller has the g flag */
res = -1;
- } else if (!strncasecmp(macro_result, "GOTO:",5) && (macro_transfer_dest = ast_strdupa(macro_result + 5))) {
+ } else if (!strncasecmp(macro_result, "GOTO:", 5) && (macro_transfer_dest = ast_strdupa(macro_result + 5))) {
res = -1;
/* perform a transfer to a new extension */
- if (strchr(macro_transfer_dest,'^')) { /* context^exten^priority*/
+ if (strchr(macro_transfer_dest, '^')) { /* context^exten^priority*/
/* no brainer mode... substitute ^ with | and feed it to builtin goto */
- for (res=0;res<strlen(macro_transfer_dest);res++)
+ for (res = 0; res < strlen(macro_transfer_dest); res++)
if (macro_transfer_dest[res] == '^')
macro_transfer_dest[res] = '|';
@@ -1508,12 +1514,12 @@
}
if (!ast_strlen_zero(dtmfcalled)) {
if (option_verbose > 2)
- ast_verbose(VERBOSE_PREFIX_3 "Sending DTMF '%s' to the called party.\n",dtmfcalled);
+ ast_verbose(VERBOSE_PREFIX_3 "Sending DTMF '%s' to the called party.\n", dtmfcalled);
res = ast_dtmf_stream(peer,chan,dtmfcalled,250);
}
if (!ast_strlen_zero(dtmfcalling)) {
if (option_verbose > 2)
- ast_verbose(VERBOSE_PREFIX_3 "Sending DTMF '%s' to the calling party.\n",dtmfcalling);
+ ast_verbose(VERBOSE_PREFIX_3 "Sending DTMF '%s' to the calling party.\n", dtmfcalling);
res = ast_dtmf_stream(chan,peer,dtmfcalling,250);
}
}
@@ -1588,10 +1594,11 @@
}
hanguptree(outgoing, NULL);
pbx_builtin_setvar_helper(chan, "DIALSTATUS", status);
- ast_log(LOG_DEBUG, "Exiting with DIALSTATUS=%s.\n", status);
+ if (option_debug)
+ ast_log(LOG_DEBUG, "Exiting with DIALSTATUS=%s.\n", status);
if ((ast_test_flag(peerflags, OPT_GO_ON)) && (!chan->_softhangup) && (res != AST_PBX_KEEPALIVE))
- res=0;
+ res = 0;
LOCAL_USER_REMOVE(u);
@@ -1620,9 +1627,7 @@
LOCAL_USER_ADD(u);
- announce = ast_strdupa(data);
- if (!announce) {
- ast_log(LOG_ERROR, "Out of memory!\n");
+ if (!(announce = ast_strdupa(data))) {
LOCAL_USER_REMOVE(u);
return -1;
}
Modified: team/bweschke/polycom_acd_functions/apps/app_dictate.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/polycom_acd_functions/apps/app_dictate.c?rev=8644&r1=8643&r2=8644&view=diff
==============================================================================
--- team/bweschke/polycom_acd_functions/apps/app_dictate.c (original)
+++ team/bweschke/polycom_acd_functions/apps/app_dictate.c Wed Jan 25 06:18:56 2006
@@ -110,11 +110,8 @@
snprintf(dftbase, sizeof(dftbase), "%s/dictate", ast_config_AST_SPOOL_DIR);
if (!ast_strlen_zero(data)) {
- parse = ast_strdupa(data);
- if (!parse) {
- ast_log(LOG_ERROR, "Out of memory!\n");
+ if (!(parse = ast_strdupa(data)))
return -1;
- }
AST_STANDARD_APP_ARGS(args, parse);
} else
args.argc = 0;
Modified: team/bweschke/polycom_acd_functions/apps/app_directory.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/polycom_acd_functions/apps/app_directory.c?rev=8644&r1=8643&r2=8644&view=diff
==============================================================================
--- team/bweschke/polycom_acd_functions/apps/app_directory.c (original)
[... 15362 lines stripped ...]
More information about the asterisk-commits
mailing list