mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-18 15:49:56 +00:00
Merged revisions 14275 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r14275 | file | 2006-03-22 18:13:30 -0400 (Wed, 22 Mar 2006) | 2 lines Issue #6781 - Verbose levels not enforced in app_voicemail (Reported by flobi) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14277 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -3697,13 +3697,15 @@ static int play_message_callerid(struct ast_channel *chan, struct vm_state *vms,
|
|||||||
if (!ast_strlen_zero(prefile)) {
|
if (!ast_strlen_zero(prefile)) {
|
||||||
/* See if we can find a recorded name for this person instead of their extension number */
|
/* See if we can find a recorded name for this person instead of their extension number */
|
||||||
if (ast_fileexists(prefile, NULL, NULL) > 0) {
|
if (ast_fileexists(prefile, NULL, NULL) > 0) {
|
||||||
ast_verbose(VERBOSE_PREFIX_3 "Playing envelope info: CID number '%s' matches mailbox number, playing recorded name\n", callerid);
|
if (option_verbose > 2)
|
||||||
|
ast_verbose(VERBOSE_PREFIX_3 "Playing envelope info: CID number '%s' matches mailbox number, playing recorded name\n", callerid);
|
||||||
if (!callback)
|
if (!callback)
|
||||||
res = wait_file2(chan, vms, "vm-from");
|
res = wait_file2(chan, vms, "vm-from");
|
||||||
res = ast_streamfile(chan, prefile, chan->language) > -1;
|
res = ast_streamfile(chan, prefile, chan->language) > -1;
|
||||||
res = ast_waitstream(chan, "");
|
res = ast_waitstream(chan, "");
|
||||||
} else {
|
} else {
|
||||||
ast_verbose(VERBOSE_PREFIX_3 "Playing envelope info: message from '%s'\n", callerid);
|
if (option_verbose > 2)
|
||||||
|
ast_verbose(VERBOSE_PREFIX_3 "Playing envelope info: message from '%s'\n", callerid);
|
||||||
/* BB: Say "from extension" as one saying to sound smoother */
|
/* BB: Say "from extension" as one saying to sound smoother */
|
||||||
if (!callback)
|
if (!callback)
|
||||||
res = wait_file2(chan, vms, "vm-from-extension");
|
res = wait_file2(chan, vms, "vm-from-extension");
|
||||||
@@ -5356,7 +5358,8 @@ static int vm_execmain(struct ast_channel *chan, void *data)
|
|||||||
cmd = 't';
|
cmd = 't';
|
||||||
break;
|
break;
|
||||||
case '2': /* Callback */
|
case '2': /* Callback */
|
||||||
ast_verbose( VERBOSE_PREFIX_3 "Callback Requested\n");
|
if (option_verbose > 2)
|
||||||
|
ast_verbose( VERBOSE_PREFIX_3 "Callback Requested\n");
|
||||||
if (!ast_strlen_zero(vmu->callback) && vms.lastmsg > -1) {
|
if (!ast_strlen_zero(vmu->callback) && vms.lastmsg > -1) {
|
||||||
cmd = advanced_options(chan, vmu, &vms, vms.curmsg, 2, record_gain);
|
cmd = advanced_options(chan, vmu, &vms, vms.curmsg, 2, record_gain);
|
||||||
if (cmd == 9) {
|
if (cmd == 9) {
|
||||||
@@ -6443,7 +6446,8 @@ static int dialout(struct ast_channel *chan, struct ast_vm_user *vmu, char *num,
|
|||||||
int retries = 0;
|
int retries = 0;
|
||||||
|
|
||||||
if (!num) {
|
if (!num) {
|
||||||
ast_verbose( VERBOSE_PREFIX_3 "Destination number will be entered manually\n");
|
if (option_verbose > 2)
|
||||||
|
ast_verbose( VERBOSE_PREFIX_3 "Destination number will be entered manually\n");
|
||||||
while (retries < 3 && cmd != 't') {
|
while (retries < 3 && cmd != 't') {
|
||||||
destination[1] = '\0';
|
destination[1] = '\0';
|
||||||
destination[0] = cmd = ast_play_and_wait(chan,"vm-enter-num-to-call");
|
destination[0] = cmd = ast_play_and_wait(chan,"vm-enter-num-to-call");
|
||||||
@@ -6463,7 +6467,8 @@ static int dialout(struct ast_channel *chan, struct ast_vm_user *vmu, char *num,
|
|||||||
if (cmd < 0)
|
if (cmd < 0)
|
||||||
return 0;
|
return 0;
|
||||||
if (cmd == '*') {
|
if (cmd == '*') {
|
||||||
ast_verbose( VERBOSE_PREFIX_3 "User hit '*' to cancel outgoing call\n");
|
if (option_verbose > 2)
|
||||||
|
ast_verbose( VERBOSE_PREFIX_3 "User hit '*' to cancel outgoing call\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if ((cmd = ast_readstring(chan,destination + strlen(destination),sizeof(destination)-1,6000,10000,"#")) < 0)
|
if ((cmd = ast_readstring(chan,destination + strlen(destination),sizeof(destination)-1,6000,10000,"#")) < 0)
|
||||||
@@ -6477,14 +6482,16 @@ static int dialout(struct ast_channel *chan, struct ast_vm_user *vmu, char *num,
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ast_verbose( VERBOSE_PREFIX_3 "Destination number is CID number '%s'\n", num);
|
if (option_verbose > 2)
|
||||||
|
ast_verbose( VERBOSE_PREFIX_3 "Destination number is CID number '%s'\n", num);
|
||||||
ast_copy_string(destination, num, sizeof(destination));
|
ast_copy_string(destination, num, sizeof(destination));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ast_strlen_zero(destination)) {
|
if (!ast_strlen_zero(destination)) {
|
||||||
if (destination[strlen(destination) -1 ] == '*')
|
if (destination[strlen(destination) -1 ] == '*')
|
||||||
return 0;
|
return 0;
|
||||||
ast_verbose( VERBOSE_PREFIX_3 "Placing outgoing call to extension '%s' in context '%s' from context '%s'\n", destination, outgoing_context, chan->context);
|
if (option_verbose > 2)
|
||||||
|
ast_verbose( VERBOSE_PREFIX_3 "Placing outgoing call to extension '%s' in context '%s' from context '%s'\n", destination, outgoing_context, chan->context);
|
||||||
ast_copy_string(chan->exten, destination, sizeof(chan->exten));
|
ast_copy_string(chan->exten, destination, sizeof(chan->exten));
|
||||||
ast_copy_string(chan->context, outgoing_context, sizeof(chan->context));
|
ast_copy_string(chan->context, outgoing_context, sizeof(chan->context));
|
||||||
chan->priority = 0;
|
chan->priority = 0;
|
||||||
@@ -6555,7 +6562,8 @@ static int advanced_options(struct ast_channel *chan, struct ast_vm_user *vmu, s
|
|||||||
if (res)
|
if (res)
|
||||||
return 9;
|
return 9;
|
||||||
} else {
|
} else {
|
||||||
ast_verbose( VERBOSE_PREFIX_3 "Caller can not specify callback number - no dialout context available\n");
|
if (option_verbose > 2)
|
||||||
|
ast_verbose( VERBOSE_PREFIX_3 "Caller can not specify callback number - no dialout context available\n");
|
||||||
res = ast_play_and_wait(chan, "vm-sorry");
|
res = ast_play_and_wait(chan, "vm-sorry");
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
@@ -6576,7 +6584,8 @@ static int advanced_options(struct ast_channel *chan, struct ast_vm_user *vmu, s
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (num) {
|
if (num) {
|
||||||
ast_verbose( VERBOSE_PREFIX_3 "Confirm CID number '%s' is number to use for callback\n", num);
|
if (option_verbose > 2)
|
||||||
|
ast_verbose( VERBOSE_PREFIX_3 "Confirm CID number '%s' is number to use for callback\n", num);
|
||||||
res = ast_play_and_wait(chan, "vm-num-i-have");
|
res = ast_play_and_wait(chan, "vm-num-i-have");
|
||||||
if (!res)
|
if (!res)
|
||||||
res = play_message_callerid(chan, vms, num, vmu->context, 1);
|
res = play_message_callerid(chan, vms, num, vmu->context, 1);
|
||||||
@@ -6618,7 +6627,8 @@ static int advanced_options(struct ast_channel *chan, struct ast_vm_user *vmu, s
|
|||||||
if (!ast_strlen_zero(cid)) {
|
if (!ast_strlen_zero(cid)) {
|
||||||
ast_callerid_parse(cid, &name, &num);
|
ast_callerid_parse(cid, &name, &num);
|
||||||
if (!num) {
|
if (!num) {
|
||||||
ast_verbose(VERBOSE_PREFIX_3 "No CID number available, no reply sent\n");
|
if (option_verbose > 2)
|
||||||
|
ast_verbose(VERBOSE_PREFIX_3 "No CID number available, no reply sent\n");
|
||||||
if (!res)
|
if (!res)
|
||||||
res = ast_play_and_wait(chan, "vm-nonumber");
|
res = ast_play_and_wait(chan, "vm-nonumber");
|
||||||
return res;
|
return res;
|
||||||
@@ -6626,7 +6636,8 @@ static int advanced_options(struct ast_channel *chan, struct ast_vm_user *vmu, s
|
|||||||
if (find_user(NULL, vmu->context, num)) {
|
if (find_user(NULL, vmu->context, num)) {
|
||||||
struct leave_vm_options leave_options;
|
struct leave_vm_options leave_options;
|
||||||
|
|
||||||
ast_verbose(VERBOSE_PREFIX_3 "Leaving voicemail for '%s' in context '%s'\n", num, vmu->context);
|
if (option_verbose > 2)
|
||||||
|
ast_verbose(VERBOSE_PREFIX_3 "Leaving voicemail for '%s' in context '%s'\n", num, vmu->context);
|
||||||
|
|
||||||
memset(&leave_options, 0, sizeof(leave_options));
|
memset(&leave_options, 0, sizeof(leave_options));
|
||||||
leave_options.record_gain = record_gain;
|
leave_options.record_gain = record_gain;
|
||||||
@@ -6636,7 +6647,8 @@ static int advanced_options(struct ast_channel *chan, struct ast_vm_user *vmu, s
|
|||||||
return res;
|
return res;
|
||||||
} else {
|
} else {
|
||||||
/* Sender has no mailbox, can't reply */
|
/* Sender has no mailbox, can't reply */
|
||||||
ast_verbose( VERBOSE_PREFIX_3 "No mailbox number '%s' in context '%s', no reply sent\n", num, vmu->context);
|
if (option_verbose > 2)
|
||||||
|
ast_verbose( VERBOSE_PREFIX_3 "No mailbox number '%s' in context '%s', no reply sent\n", num, vmu->context);
|
||||||
ast_play_and_wait(chan, "vm-nobox");
|
ast_play_and_wait(chan, "vm-nobox");
|
||||||
res = 't';
|
res = 't';
|
||||||
return res;
|
return res;
|
||||||
@@ -6687,7 +6699,8 @@ static int play_record_review(struct ast_channel *chan, char *playfile, char *re
|
|||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
/* Otherwise 1 is to save the existing message */
|
/* Otherwise 1 is to save the existing message */
|
||||||
ast_verbose(VERBOSE_PREFIX_3 "Saving message as is\n");
|
if (option_verbose > 2)
|
||||||
|
ast_verbose(VERBOSE_PREFIX_3 "Saving message as is\n");
|
||||||
ast_streamfile(chan, "vm-msgsaved", chan->language);
|
ast_streamfile(chan, "vm-msgsaved", chan->language);
|
||||||
ast_waitstream(chan, "");
|
ast_waitstream(chan, "");
|
||||||
STORE(recordfile, vmu->mailbox, vmu->context, -1);
|
STORE(recordfile, vmu->mailbox, vmu->context, -1);
|
||||||
@@ -6697,7 +6710,8 @@ static int play_record_review(struct ast_channel *chan, char *playfile, char *re
|
|||||||
}
|
}
|
||||||
case '2':
|
case '2':
|
||||||
/* Review */
|
/* Review */
|
||||||
ast_verbose(VERBOSE_PREFIX_3 "Reviewing the message\n");
|
if (option_verbose > 2)
|
||||||
|
ast_verbose(VERBOSE_PREFIX_3 "Reviewing the message\n");
|
||||||
ast_streamfile(chan, recordfile, chan->language);
|
ast_streamfile(chan, recordfile, chan->language);
|
||||||
cmd = ast_waitstream(chan, AST_DIGIT_ANY);
|
cmd = ast_waitstream(chan, AST_DIGIT_ANY);
|
||||||
break;
|
break;
|
||||||
@@ -6705,9 +6719,11 @@ static int play_record_review(struct ast_channel *chan, char *playfile, char *re
|
|||||||
message_exists = 0;
|
message_exists = 0;
|
||||||
/* Record */
|
/* Record */
|
||||||
if (recorded == 1)
|
if (recorded == 1)
|
||||||
ast_verbose(VERBOSE_PREFIX_3 "Re-recording the message\n");
|
if (option_verbose > 2)
|
||||||
|
ast_verbose(VERBOSE_PREFIX_3 "Re-recording the message\n");
|
||||||
else
|
else
|
||||||
ast_verbose(VERBOSE_PREFIX_3 "Recording the message\n");
|
if (option_verbose > 2)
|
||||||
|
ast_verbose(VERBOSE_PREFIX_3 "Recording the message\n");
|
||||||
if (recorded && outsidecaller) {
|
if (recorded && outsidecaller) {
|
||||||
cmd = ast_play_and_wait(chan, INTRO);
|
cmd = ast_play_and_wait(chan, INTRO);
|
||||||
cmd = ast_play_and_wait(chan, "beep");
|
cmd = ast_play_and_wait(chan, "beep");
|
||||||
@@ -6731,14 +6747,16 @@ static int play_record_review(struct ast_channel *chan, char *playfile, char *re
|
|||||||
#if 0
|
#if 0
|
||||||
else if (vmu->review && (*duration < 5)) {
|
else if (vmu->review && (*duration < 5)) {
|
||||||
/* Message is too short */
|
/* Message is too short */
|
||||||
ast_verbose(VERBOSE_PREFIX_3 "Message too short\n");
|
if (option_verbose > 2)
|
||||||
|
ast_verbose(VERBOSE_PREFIX_3 "Message too short\n");
|
||||||
cmd = ast_play_and_wait(chan, "vm-tooshort");
|
cmd = ast_play_and_wait(chan, "vm-tooshort");
|
||||||
cmd = vm_delete(recordfile);
|
cmd = vm_delete(recordfile);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (vmu->review && (cmd == 2 && *duration < (maxsilence + 3))) {
|
else if (vmu->review && (cmd == 2 && *duration < (maxsilence + 3))) {
|
||||||
/* Message is all silence */
|
/* Message is all silence */
|
||||||
ast_verbose(VERBOSE_PREFIX_3 "Nothing recorded\n");
|
if (option_verbose > 2)
|
||||||
|
ast_verbose(VERBOSE_PREFIX_3 "Nothing recorded\n");
|
||||||
cmd = vm_delete(recordfile);
|
cmd = vm_delete(recordfile);
|
||||||
cmd = ast_play_and_wait(chan, "vm-nothingrecorded");
|
cmd = ast_play_and_wait(chan, "vm-nothingrecorded");
|
||||||
if (!cmd)
|
if (!cmd)
|
||||||
|
|||||||
Reference in New Issue
Block a user