[Asterisk-Users] Syncronize Monitored Calls

Dave Packham dave.packham at utah.edu
Mon Aug 25 14:33:23 MST 2003


and we could GSM compress them to be email friendly  I think sox does gsm compress 

Dave again

>>> Dave.Packham at utah.edu 8/25/2003 2:30:25 PM >>>
ok now lets modify that mix script to pick up on who started the monitored call and look them up in the voicemail.conf and email it to em

Dave

>>> brian at bkw.org 8/25/2003 2:14:16 PM >>>
Note that h will not be called if you park the call and pick it backup.

bkw

On Mon, 25 Aug 2003, David Harris wrote:

> I thought I would post this in case it might be of any use to anyone.
> Not anything special but it does work.  Keep in mind you need sox and
> wmix.
>
> Here is some relevant exerpts of my extensions.conf using John Todds
> macro.
>
> [globals]
> CALLFILENAME=foo
> FOO=foo
> CALLERIDNUM=foo
>
> [default]
>
> exten => 287,1,Macro(dial,SIP/agent20002|20)
> exten => 287,2,Voicemail(u287)
> exten => h,1,Macro(hangup)
>
> [macro-dial]
>
> exten => s,1,AGI(set-timestamp.agi)
> exten =>
> s,2,SetVar(CALLFILENAME=${timestamp}-${CALLERIDNUM}-${MACRO_EXTEN})
> exten => s,3,Monitor(wav,${CALLFILENAME})
> exten => s,4,Dial(${ARG1},${ARG2},${ARG3})
>
> [macro-hangup]
>
> exten => s,1,SetVar(MONITORDIR=/var/spool/asterisk/monitor)
> exten => s,2,GotoIf($[${CALLFILENAME} = ${FOO}]?6:3)
> exten => s,3,System(/usr/local/bin/mix_monitor_files.pl ${MONITORDIR}
> ${CALLFILENAME}-in.wav ${CALLFILENAME}-out.wav ${CALLFILENAME}.wav)
> exten => s,6,NoOp
>
>
> Here is mix_monitor_files.pl.  sox and wmix must be in the path of your
> perl script
>
> #!/usr/bin/perl
>
> $monitordir = shift;
> $infile = shift;
> $outfile = shift;
> $finishfile = shift;
>
> chdir($monitordir);
>
>
> $infile_output = `sox $infile -e stat 2>&1`;
> $outfile_output = `sox $outfile -e stat 2>&1`;
>
> $infile_output =~ /Samples read:\s+(\d+)/;
> $infile_samples = $1;
>
> $outfile_output =~ /Samples read:\s+(\d+)/;
> $outfile_samples = $1;
>
>
> if($outfile_samples > $infile_samples)
> {
>         $diff_samples = $outfile_samples - $infile_samples;
>         system("sox $outfile temp${outfile} trim  ${diff_samples}s");
>         system("wmix $infile temp${outfile} > $finishfile");
>         system("rm -f $infile temp${outfile} $outfile");
> }
> elsif($infile_samples > $outfile_samples)
> {
>         $diff_samples = $infile_samples - $outfile_samples;
>         system("sox $infile temp${infile} trim  ${diff_samples}s");
>         system("wmix temp${infile} $outfile > $finishfile");
>         system("rm -f temp${infile} $outfile $infile");
> }
> else
> {
>         system("wmix $infile $outfile > $finishfile");
>         system("rm -f $infile $outfile");
> }
>
_______________________________________________
Asterisk-Users mailing list
Asterisk-Users at lists.digium.com 
http://lists.digium.com/mailman/listinfo/asterisk-users 

_______________________________________________
Asterisk-Users mailing list
Asterisk-Users at lists.digium.com 
http://lists.digium.com/mailman/listinfo/asterisk-users




More information about the asterisk-users mailing list