aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-01-05 21:31:40 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-01-05 21:31:40 +0000
commit28f89ca18c43979eee2c0d42289b71bc66b886d2 (patch)
treee028aacdebe38bb57dee97ef215f1c37ceb69fd7
parent4461c6050670459d699acb30a98846506116cd97 (diff)
Various/assundry cleanups
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4680 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-xconfigs/features.conf.sample2
-rwxr-xr-xres/res_features.c46
2 files changed, 23 insertions, 25 deletions
diff --git a/configs/features.conf.sample b/configs/features.conf.sample
index b5cf5ff2a..b5d8399b0 100755
--- a/configs/features.conf.sample
+++ b/configs/features.conf.sample
@@ -12,7 +12,7 @@ context => parkedcalls ; Which context parked calls are in
;courtesytone = beep ; Sound file to play to the parked caller
; when someone dials a parked call
;xfersound = beep ; to indicate an attended transfer is complete
-;xferfailsound ; to indicate a failed transfer
+;xferfailsound = beeperr ; to indicate a failed transfer
;adsipark = yes ; if you want ADSI parking announcements
;pickupexten = *8 ; Configure the pickup extension. Default is *8
;featuredigittimeout = 500 ; Max time (ms) between digits for
diff --git a/res/res_features.c b/res/res_features.c
index 040b5fa93..ea911b933 100755
--- a/res/res_features.c
+++ b/res/res_features.c
@@ -60,6 +60,11 @@ static char parking_ext[AST_MAX_EXTENSION] = "700";
static char pickup_ext[AST_MAX_EXTENSION] = "*8";
+/* Default sounds */
+static char courtesytone[256] = "";
+static char xfersound[256] = "beep";
+static char xferfailsound[256] = "pbx-invalid";
+
/* First available extension for parking */
static int parking_start = 701;
@@ -72,12 +77,6 @@ static int transferdigittimeout = DEFAULT_TRANSFER_DIGIT_TIMEOUT;
static int featuredigittimeout = DEFAULT_FEATURE_DIGIT_TIMEOUT;
/* Default courtesy tone played when party joins conference */
-static char courtesytone[256] = "";
-
-/* Default sounds */
-static char xfersound[256] = "beep";
-static char xferfailsound[256] = "beeperr";
-
/* Registrar for operations */
static char *registrar = "res_features";
@@ -496,7 +495,10 @@ static int builtin_blindtransfer(struct ast_channel *chan, struct ast_channel *p
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 "Unable to find extension '%s' in context '%s'\n", newext, transferer_real_context);
}
- res = ast_streamfile(transferer, xferfailsound, transferee->language);
+ if (!ast_strlen_zero(xferfailsound))
+ res = ast_streamfile(transferer, xferfailsound, transferee->language);
+ else
+ res = 0;
if (res) {
ast_moh_stop(transferee);
ast_autoservice_stop(transferee);
@@ -585,7 +587,7 @@ static int builtin_atxfer(struct ast_channel *chan, struct ast_channel *peer, st
}
if (!ast_strlen_zero(xfersound) && !ast_streamfile(transferer, xfersound, transferer->language)) {
if (ast_waitstream(transferer, "") < 0) {
- ast_log(LOG_WARNING, "Failed to play %s\n", xfersound);
+ ast_log(LOG_WARNING, "Failed to play courtesy tone!\n");
}
}
ast_moh_stop(transferee);
@@ -648,7 +650,7 @@ static int builtin_atxfer(struct ast_channel *chan, struct ast_channel *peer, st
if (!ast_strlen_zero(xfersound) && !ast_streamfile(newchan, xfersound, newchan->language)) {
if (ast_waitstream(newchan, "") < 0) {
- ast_log(LOG_WARNING, "Failed to play %s!\n", xfersound);
+ ast_log(LOG_WARNING, "Failed to play courtesy tone!\n");
}
}
ast_bridge_call_thread_launch(tobj);
@@ -663,7 +665,7 @@ static int builtin_atxfer(struct ast_channel *chan, struct ast_channel *peer, st
ast_log(LOG_WARNING, "Unable to create channel Local/%s do you have chan_local?\n",dialstr);
ast_moh_stop(transferee);
ast_autoservice_stop(transferee);
- if(!ast_strlen_zero(xferfailsound)) {
+ if (!ast_strlen_zero(xferfailsound)) {
res = ast_streamfile(transferer, xferfailsound, transferer->language);
if (!res && (ast_waitstream(transferer, "") < 0)) {
return -1;
@@ -675,20 +677,16 @@ static int builtin_atxfer(struct ast_channel *chan, struct ast_channel *peer, st
ast_log(LOG_WARNING, "Extension %s does not exist in context %s\n",xferto,transferer_real_context);
ast_moh_stop(transferee);
ast_autoservice_stop(transferee);
- if(!ast_strlen_zero(xferfailsound)) {
- res = ast_streamfile(transferer, xferfailsound, transferer->language);
- if (!res && (ast_waitstream(transferer, "") < 0)) {
- return -1;
- }
+ res = ast_streamfile(transferer, "beeperr", transferer->language);
+ if (!res && (ast_waitstream(transferer, "") < 0)) {
+ return -1;
}
}
} else {
ast_log(LOG_WARNING, "Did not read data.\n");
- if(!ast_strlen_zero(xferfailsound)) {
- res = ast_streamfile(transferer, xferfailsound, transferer->language);
- if (ast_waitstream(transferer, "") < 0) {
- return -1;
- }
+ res = ast_streamfile(transferer, "beeperr", transferer->language);
+ if (ast_waitstream(transferer, "") < 0) {
+ return -1;
}
}
ast_moh_stop(transferee);
@@ -1413,13 +1411,13 @@ int load_module(void)
featuredigittimeout = DEFAULT_FEATURE_DIGIT_TIMEOUT;
}
} else if (!strcasecmp(var->name, "courtesytone")) {
- strncpy(courtesytone, strcmp(var->value, "undef") ? var->value : "", sizeof(courtesytone) - 1);
+ strncpy(courtesytone, var->value, sizeof(courtesytone) - 1);
} else if (!strcasecmp(var->name, "xfersound")) {
- strncpy(xfersound, strcmp(var->value, "undef") ? var->value : "", sizeof(xfersound) - 1);
+ strncpy(xfersound, var->value, sizeof(xfersound) - 1);
} else if (!strcasecmp(var->name, "xferfailsound")) {
- strncpy(xferfailsound, strcmp(var->value, "undef") ? var->value : "", sizeof(xferfailsound) - 1);
+ strncpy(xferfailsound, var->value, sizeof(xferfailsound) - 1);
} else if (!strcasecmp(var->name, "pickupexten")) {
- strncpy(pickup_ext, strcmp(var->value, "undef") ? var->value : "", sizeof(pickup_ext) - 1);
+ strncpy(pickup_ext, var->value, sizeof(pickup_ext) - 1);
}
var = var->next;
}