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:
parent
d6515c64fb
commit
7cd48301d9
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue