?? outgoing.pm
字號:
package Asterisk::Outgoing;=head1 NAMEAsterisk::Outgoing - Create outgoing call queue file=head1 SYNOPSISuse Asterisk::Outgoing;my $out = new Asterisk::Outgoing;$out->setvariable('Channel', 'Zap/1/');$out->setvariable('MaxRetries', 0);$out->setvariable('RetryTime', 60);$out->setvariable('WaitTime', 60);$out->setvariable('Application', 'Playback');$out->setvariable('Data', 'beep');$out->create_outgoing;=cutrequire 5.004;use Fcntl ':flock';use Asterisk;@ISA = ('Asterisk');$VERSION = '0.01';sub new { my ($class, %args) = @_; my $self = {}; $self->{OUTDIR} = '/var/spool/asterisk/outgoing'; $self->{OUTTIME} = undef; $self->{OUTVARS} = {}; $self->{ALLOWEDVARS} = [ 'channel', 'maxretries', 'retrytime', 'waittime', 'context', 'extension', 'priority', 'application', 'data', 'callerid' ]; bless $self, ref $class || $class; return $self;}sub outdir { my ($self, $dir) = @_; if (defined($dir)) { $self->{OUTDIR} = $dir; } return $self->{OUTDIR};}sub outtime { my ($self, $time) = @_; if (defined($time)) { $self->{OUTTIME} = $time; } elsif (!defined($self->{OUTTIME})) { $self->{OUTTIME} = time(); } return $self->{OUTTIME};}sub checkvariable { my ($self, $var) = @_; my $ret = 0; foreach $allowed (@{$self->{ALLOWEDVARS}}) { if ($allowed =~ /$var/i) { $ret = 1; } } return $ret;}sub setvariable { my ($self, $var, $value) = @_; if ($self->checkvariable($var)) { $self->{OUTVARS}{$var} = $value; }}sub create_outgoing { my ($self) = @_; my $time = $self->outtime(); my $outdir = $self->outdir(); my $filename = $outdir . '/' . $time . '.outgoing'; open(OUTFILE, ">$filename") || return 0; flock(OUTFILE, LOCK_EX); utime($time, $time, $filename); foreach my $var (keys %{$self->{OUTVARS}}) { print OUTFILE "$var: " . $self->{OUTVARS}{$var} . "\n"; } flock(OUTFILE, LOCK_UN); close(OUTFILE); utime($time, $time, $filename); return 1;}1;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -