fix play_and_get_digits to unset the var if the regex didn't match. and fix ESL/IVR to include the regex

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12921 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michael Jerris
2009-04-06 19:25:02 +00:00
parent d6515c64fb
commit 7cd48301d9
2 changed files with 4 additions and 2 deletions
+2 -2
View File
@@ -75,13 +75,13 @@ sub setVar($;) {
sub playAndGetDigits($;) {
my $self = shift;
my ($min, $max, $tries, $to, $term, $file, $invalid_file, $var) = @_;
my ($min, $max, $tries, $to, $term, $file, $invalid_file, $var, $regex) = @_;
if (!$self->{_esl}->connected()) {
return undef;
}
$self->execute("play_and_get_digits", "$min $max $tries $to $term $file $invalid_file $var");
$self->execute("play_and_get_digits", "$min $max $tries $to $term $file $invalid_file $var $regex");
return $self->getVar($var);
+2
View File
@@ -1561,6 +1561,8 @@ SWITCH_DECLARE(switch_status_t) switch_play_and_get_digits(switch_core_session_t
}
if (switch_regex_match(digit_buffer, digits_regex) == SWITCH_STATUS_SUCCESS) {
return SWITCH_STATUS_SUCCESS;
} else {
switch_channel_set_variable(channel, var_name, NULL);
}
}
}