qcall.pm

来自「asterisk用 的voip记费软件」· PM 代码 · 共 62 行

PM
62
字号
package Asterisk::QCall;require 5.004;use Fcntl ':flock';use Asterisk;$VERSION = '0.01';sub version { $VERSION; }sub new {	my ($class, %args) = @_;	my $self = {};	$self->{QUEUEDIR} = '/var/spool/asterisk/qcall';	$self->{QUEUETIME} = undef;	bless $self, ref $class || $class;	return $self;}sub DESTROY { }sub queuedir {	my ($self, $dir) = @_;	if (defined($dir)) {		$self->{QUEUEDIR} = $dir;	}	return $self->{QUEUEDIR};}sub queuetime {	my ($self, $time) = @_;	if (defined($time)) {		$self->{QUEUETIME} = $time;	} elsif (!defined($self->{QUEUETIME})) {                $self->{QUEUETIME} = time();	}	return $self->{QUEUETIME};}sub create_qcall {	my ($self, $dialstring, $callerid, $extension, $maxsecs, $identifier, $response) = @_;	my $time = $self->queuetime();	my $queuedir = $self->queuedir();	my $filename = $queuedir . '/' . $time . '.queue';	open(QFILE, ">$filename") || return 0;	flock(QFILE, LOCK_EX);	print QFILE "$dialstring $callerid $extension $maxsecs $identifier $response";	flock(QFILE, LOCK_UN);	close(QFILE);	my $ret = utime($time, $time, $filename);	return 1;}1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?