From 2fc9bd652aa3d989c16b42d864e9da3dd3c64c07 Mon Sep 17 00:00:00 2001 From: mattf Date: Wed, 26 Dec 2007 18:45:03 +0000 Subject: [PATCH] added run-time config options to agi-record-prompts script for format(gsm/wav) and timeout(in milliseconds) updated docs and conf_examples accordingly git-svn-id: svn://192.168.202.10@755 3d104415-ff17-0410-8863-d5cf3c621b8a --- agc_2-X/trunk/agi/agi-record_prompts.agi | 37 +++++++++++++++++-- agc_2-X/trunk/docs/SCRATCH_INSTALL.txt | 9 ++++- .../docs/conf_examples/extensions.conf.sample | 9 ++++- .../conf_examples/extensions.conf.sample-1.4 | 10 ++++- 4 files changed, 55 insertions(+), 10 deletions(-) diff --git a/agc_2-X/trunk/agi/agi-record_prompts.agi b/agc_2-X/trunk/agi/agi-record_prompts.agi index c54d0643..35d8fe83 100644 --- a/agc_2-X/trunk/agi/agi-record_prompts.agi +++ b/agc_2-X/trunk/agi/agi-record_prompts.agi @@ -1,13 +1,18 @@ #!/usr/bin/perl # -# agi-record_prompts.agi version 0.2 +# agi-record_prompts.agi version 2.0.5-3 # # for recording prompts to GSM file over the phone # Saves recordings with 8-digit filenames to be played when exten is dialed # -# ; prompt recording AGI script, ID is 4321 +# ; prompts for recording AGI script, ID is 4321 +# ; first variable is format (gsm/wav) +# ; second variable is timeout in milliseconds (default is 360000 [6 minutes]) +# exten => 8167,1,Answer +# exten => 8167,2,AGI(agi-record_prompts.agi,wav-----360000) +# exten => 8167,3,Hangup # exten => 8168,1,Answer -# exten => 8168,2,AGI(agi-record_prompts.agi) +# exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----360000) # exten => 8168,3,Hangup # # ; playback of recorded prompts @@ -24,12 +29,32 @@ # - vm-msgsaved # - vm-goodbye # +# CHANGELOG +# 71226-1303 - Added option to change format GSM/WAV and timeout through flags +# $US='_'; use Asterisk::AGI; $AGI = new Asterisk::AGI; +### begin parsing run-time options ### +if (length($ARGV[0])>1) +{ + $i=0; + while ($#ARGV >= $i) + { + $args = "$args $ARGV[$i]"; + $i++; + } + + ### list of command-line array arguments: + @ARGV_vars = split(/-----/, $ARGV[0]); + + $format = $ARGV_vars[0]; + $timeout = $ARGV_vars[1]; +} + $|=1; while() { chomp; @@ -46,6 +71,10 @@ while() { } +if ($format =~ /WAV/i) {$format = 'wav';} +else {$format = 'gsm';} + +if ($timeout < 1) {$timeout = 360000;} # default is 6 minutes $unique_id_out = $unique_id; @NEW_ID = split(/\./, $unique_id_out); @@ -162,7 +191,7 @@ $AGI->stream_file('beep'); $digit=''; $interrupt_digit=''; -$interrupt_digit = $AGI->record_file("$session_recording", 'gsm', '123456789*#', 360000, 1); +$interrupt_digit = $AGI->record_file("$session_recording", "$format", '123456789*#', "$timeout", 1); print STDERR "interrupt_digit |$interrupt_digit|\n"; diff --git a/agc_2-X/trunk/docs/SCRATCH_INSTALL.txt b/agc_2-X/trunk/docs/SCRATCH_INSTALL.txt index 1da6b15b..758436f6 100644 --- a/agc_2-X/trunk/docs/SCRATCH_INSTALL.txt +++ b/agc_2-X/trunk/docs/SCRATCH_INSTALL.txt @@ -2486,9 +2486,14 @@ exten => 8500998,2,Playback(silence) exten => 8500998,3,AGI(agi-dtmf.agi) exten => 8500998,4,Hangup -; prompt recording AGI script, ID is 4321 +; prompts for recording AGI script, ID is 4321 +; first variable is format (gsm/wav) +; second variable is timeout in milliseconds (default is 360000 [6 minutes]) +exten => 8167,1,Answer +exten => 8167,2,AGI(agi-record_prompts.agi,wav-----360000) +exten => 8167,3,Hangup exten => 8168,1,Answer -exten => 8168,2,AGI(agi-record_prompts.agi) +exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----360000) exten => 8168,3,Hangup ; playback of recorded prompts diff --git a/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample b/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample index a8890c64..1d8874a9 100644 --- a/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample +++ b/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample @@ -656,9 +656,14 @@ exten => 8352,1,AGI(agi-VDADselective_CID_hangup.agi,${EXTEN}) exten => 8352,2,Playback(safe_harbor) exten => 8352,3,Hangup -; prompt recording AGI script, ID is 4321 +; prompts for recording AGI script, ID is 4321 +; first variable is format (gsm/wav) +; second variable is timeout in milliseconds (default is 360000 [6 minutes]) +exten => 8167,1,Answer +exten => 8167,2,AGI(agi-record_prompts.agi,wav-----360000) +exten => 8167,3,Hangup exten => 8168,1,Answer -exten => 8168,2,AGI(agi-record_prompts.agi) +exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----360000) exten => 8168,3,Hangup ; playback of recorded prompts diff --git a/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample-1.4 b/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample-1.4 index 9fa08fd5..99b703b8 100644 --- a/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample-1.4 +++ b/agc_2-X/trunk/docs/conf_examples/extensions.conf.sample-1.4 @@ -654,11 +654,17 @@ exten => 8352,1,AGI(agi-VDADselective_CID_hangup.agi,${EXTEN}) exten => 8352,2,Playback(safe_harbor) exten => 8352,3,Hangup -; prompt recording AGI script, ID is 4321 +; prompts for recording AGI script, ID is 4321 +; first variable is format (gsm/wav) +; second variable is timeout in milliseconds (default is 360000 [6 minutes]) +exten => 8167,1,Answer +exten => 8167,2,AGI(agi-record_prompts.agi,wav-----360000) +exten => 8167,3,Hangup exten => 8168,1,Answer -exten => 8168,2,AGI(agi-record_prompts.agi) +exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----360000) exten => 8168,3,Hangup + ; playback of recorded prompts exten => _851XXXXX,1,Answer exten => _851XXXXX,2,Playback(${EXTEN})