Added alphabet letters translation to phone DTMF digits feature for agi-dtmf.agi script
git-svn-id: svn://192.168.202.10@3062 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
@@ -15,12 +15,13 @@
|
|||||||
#
|
#
|
||||||
# Can also be used in a Call Menu: agi-dtmf.agi,signalonly---12345 # optional signal only DTMF with CLI-defined DTMF values
|
# Can also be used in a Call Menu: agi-dtmf.agi,signalonly---12345 # optional signal only DTMF with CLI-defined DTMF values
|
||||||
#
|
#
|
||||||
# Copyright (C) 2018 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
# Copyright (C) 2019 Matt Florell <vicidial@gmail.com> LICENSE: AGPLv2
|
||||||
#
|
#
|
||||||
# CHANGES
|
# CHANGES
|
||||||
# 90312-1534 - Added signalonly option
|
# 90312-1534 - Added signalonly option
|
||||||
# 140611-1330 - Added CLI dtmf variable option
|
# 140611-1330 - Added CLI dtmf variable option
|
||||||
# 180520-0942 - Fix for inconsistency problem, issue #1099
|
# 180520-0942 - Fix for inconsistency problem, issue #1099
|
||||||
|
# 190129-1030 - Added alphabet letters translation to phone DTMF digits feature
|
||||||
#
|
#
|
||||||
|
|
||||||
$signalonly=0;
|
$signalonly=0;
|
||||||
@@ -76,9 +77,10 @@ print STDERR "X. |$clid|$caller_id|$clidname| |$signalonly|$cli_vars_set|$c
|
|||||||
print "STREAM FILE silence \"\"\n";
|
print "STREAM FILE silence \"\"\n";
|
||||||
|
|
||||||
### sleep for 5 tenths of a second
|
### sleep for 5 tenths of a second
|
||||||
usleep(1*500*1000);
|
usleep(1*10*1000);
|
||||||
|
|
||||||
$caller_id = "$caller_id$caller_idname";
|
$caller_id = "$caller_id$caller_idname";
|
||||||
|
$caller_id =~ s/unknown//g;
|
||||||
|
|
||||||
if ($cli_vars_set > 0)
|
if ($cli_vars_set > 0)
|
||||||
{$caller_id = $cli_vars;}
|
{$caller_id = $cli_vars;}
|
||||||
@@ -97,12 +99,14 @@ foreach (@CALLERID_DIGITS)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
$dtmf_played=0;
|
||||||
if ($CALLERID_DIGITS[$g] =~ /\#/)
|
if ($CALLERID_DIGITS[$g] =~ /\#/)
|
||||||
{
|
{
|
||||||
if ($signalonly > 0)
|
if ($signalonly > 0)
|
||||||
{print "EXEC SendDTMF \# \"\"\n";}
|
{print "EXEC SendDTMF \# \"\"\n";}
|
||||||
else
|
else
|
||||||
{print "STREAM FILE hash \"\"\n";}
|
{print "STREAM FILE hash \"\"\n";}
|
||||||
|
$dtmf_played++;
|
||||||
}
|
}
|
||||||
if ($CALLERID_DIGITS[$g] =~ /\*/)
|
if ($CALLERID_DIGITS[$g] =~ /\*/)
|
||||||
{
|
{
|
||||||
@@ -110,9 +114,33 @@ foreach (@CALLERID_DIGITS)
|
|||||||
{print "EXEC SendDTMF \* \"\"\n";}
|
{print "EXEC SendDTMF \* \"\"\n";}
|
||||||
else
|
else
|
||||||
{print "STREAM FILE star \"\"\n";}
|
{print "STREAM FILE star \"\"\n";}
|
||||||
|
$dtmf_played++;
|
||||||
|
}
|
||||||
|
if ($CALLERID_DIGITS[$g] =~ /\,/)
|
||||||
|
{
|
||||||
|
sleep(1);
|
||||||
|
$dtmf_played++;
|
||||||
|
}
|
||||||
|
if ($CALLERID_DIGITS[$g] =~ /[A-Za-z]/)
|
||||||
|
{
|
||||||
|
$translated_digit='';
|
||||||
|
if ($CALLERID_DIGITS[$g] =~ /[A-Ca-c]/) {$translated_digit=2;}
|
||||||
|
if ($CALLERID_DIGITS[$g] =~ /[D-Fd-f]/) {$translated_digit=3;}
|
||||||
|
if ($CALLERID_DIGITS[$g] =~ /[G-Ig-i]/) {$translated_digit=4;}
|
||||||
|
if ($CALLERID_DIGITS[$g] =~ /[J-Lj-l]/) {$translated_digit=5;}
|
||||||
|
if ($CALLERID_DIGITS[$g] =~ /[M-Om-o]/) {$translated_digit=6;}
|
||||||
|
if ($CALLERID_DIGITS[$g] =~ /[P-Sp-s]/) {$translated_digit=7;}
|
||||||
|
if ($CALLERID_DIGITS[$g] =~ /[T-Vt-v]/) {$translated_digit=8;}
|
||||||
|
if ($CALLERID_DIGITS[$g] =~ /[W-Zw-z]/) {$translated_digit=9;}
|
||||||
|
|
||||||
|
if ($signalonly > 0)
|
||||||
|
{print "EXEC SendDTMF $translated_digit \"\"\n";}
|
||||||
|
else
|
||||||
|
{print "STREAM FILE $translated_digit \"\"\n";}
|
||||||
|
print STDERR "DIGIT: $translated_digit\n";
|
||||||
|
|
||||||
|
$dtmf_played++;
|
||||||
}
|
}
|
||||||
if ($CALLERID_DIGITS[$g] =~ /\,|S/)
|
|
||||||
{sleep(1);}
|
|
||||||
print STDERR "NON-DIGIT: $CALLERID_DIGITS[$g]\n";
|
print STDERR "NON-DIGIT: $CALLERID_DIGITS[$g]\n";
|
||||||
}
|
}
|
||||||
$g++;
|
$g++;
|
||||||
|
|||||||
Reference in New Issue
Block a user