many docs updates, removing of older files
git-svn-id: svn://192.168.202.10@1075 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
@@ -1,21 +0,0 @@
|
||||
use inc::Module::Install 0.46;
|
||||
|
||||
name('Astguiclient');
|
||||
license('gpl');
|
||||
perl_version('5.008');
|
||||
version_from('lib/Astguiclient.pm');
|
||||
|
||||
requires('Class::Accessor::Fast');
|
||||
requires('Asterisk::AGI');
|
||||
requires('File::Pid');
|
||||
requires('Asterisk::Manager');
|
||||
requires('DBI');
|
||||
requires('Net::Server::PreFork');
|
||||
requires('YAML::Syck');
|
||||
requires('Text::SimpleTable');
|
||||
requires('Module::CoreList');
|
||||
|
||||
no_index directory => 't';
|
||||
no_index package => 'inc';
|
||||
|
||||
WriteAll;
|
||||
@@ -1,157 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict;
|
||||
use lib '../lib';
|
||||
|
||||
use Astguiclient::Config;
|
||||
use Astguiclient::Util;
|
||||
use Text::SimpleTable;
|
||||
use File::Spec;
|
||||
use Time::HiRes qw( usleep );
|
||||
use Getopt::Long;
|
||||
use Pod::Usage;
|
||||
|
||||
my $file = Astguiclient::Config->file();
|
||||
|
||||
my @procs = @{ $file->{'Processes'} };
|
||||
|
||||
my %opts;
|
||||
GetOptions(\%opts, 'help|h', 'debug|d=i', 'config|c=s');
|
||||
pod2usage(1) if $opts{'help'};
|
||||
|
||||
my $cmd = $ARGV[0];
|
||||
if( $cmd eq 'check' ) {
|
||||
check();
|
||||
} elsif( $cmd eq 'start' ) {
|
||||
start();
|
||||
} elsif( $cmd eq 'stop' ) {
|
||||
stop();
|
||||
} elsif( $cmd eq 'restart' ) {
|
||||
stop();
|
||||
start();
|
||||
} elsif( $cmd eq 'checkstart' ) {
|
||||
checkstart();
|
||||
} else {
|
||||
print "Unrecognized command.\n";
|
||||
pod2usage(1);
|
||||
}
|
||||
|
||||
sub check {
|
||||
my $t1 = Text::SimpleTable->new( [ 20, 'Process'] , [ 8, 'Status' ] );
|
||||
foreach my $proc ( @procs ) {
|
||||
my $pidfile = File::Spec->catfile( Astguiclient::Util->app_root(), 'run', $proc );
|
||||
if( not -f $pidfile ) {
|
||||
# No pid file means the process is down.
|
||||
$t1->row( $proc, 'OFF' );
|
||||
} else {
|
||||
open(FH, $pidfile ) or die "Can't open pidfile $pidfile: $!";
|
||||
my $pid = <FH>;
|
||||
|
||||
# Test if the process is up.
|
||||
if( kill 0 => $pid ) {
|
||||
$t1->row( $proc, 'ON' );
|
||||
} else {
|
||||
# If the pid file exists and the process doesn't. Most likely
|
||||
# the process crashed.
|
||||
$t1->row( $proc, 'OFF - CRASHED' );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print $t1->draw;
|
||||
}
|
||||
|
||||
sub start {
|
||||
my(@start) = @_;
|
||||
|
||||
@start = @procs unless @start;
|
||||
print "Starting processes\n";
|
||||
foreach my $start (@start) {
|
||||
my $script = File::Spec->catfile( Astguiclient::Util->app_root(), 'bin', $start );
|
||||
print "$script\t\t";
|
||||
`$script`;
|
||||
print "[ on ]\n"
|
||||
}
|
||||
}
|
||||
|
||||
sub restart {
|
||||
stop();
|
||||
start();
|
||||
}
|
||||
|
||||
sub stop {
|
||||
my(@stop) = @_;
|
||||
|
||||
@stop = @procs unless @stop;
|
||||
print "Stoping processes\n";
|
||||
foreach my $proc ( @procs ) {
|
||||
my $pidfile = File::Spec->catfile( Astguiclient::Util->app_root(), 'run', $proc );
|
||||
_pidfile_kill($pidfile);
|
||||
}
|
||||
}
|
||||
|
||||
sub _pidfile_kill {
|
||||
my $pidfile = shift;
|
||||
open(FH, $pidfile ) or die "Can't open pidfile $pidfile: $!";
|
||||
my $pid = <FH>;
|
||||
close(FH);
|
||||
|
||||
kill("TERM", $pid);
|
||||
usleep(100000);
|
||||
kill("KILL", $pid) if( kill( 0, $pid));
|
||||
}
|
||||
|
||||
__END__
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ast_status.pl
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
ast_status.pl start|stop|restart|check|checkstart
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Check the running Astguiclient processes, making sure they are
|
||||
running.
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
=over 8
|
||||
|
||||
=item start
|
||||
|
||||
=item stop
|
||||
|
||||
=item restart
|
||||
|
||||
=item check
|
||||
|
||||
=item checkstart
|
||||
|
||||
If the process is down or crashed and shouldn't be then start it.
|
||||
|
||||
=back
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Jason Yates <jaywhy@gmail.com>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
Copyright (C) 2006 Matt Florell <vicidial@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
@@ -1,56 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict;
|
||||
use lib '../lib';
|
||||
|
||||
use Astguiclient::Daemon::AGI;
|
||||
|
||||
Astguiclient::Daemon::AGI->run( port => '4573', log_level => 4 );
|
||||
|
||||
|
||||
__END__
|
||||
|
||||
=head1 NAME
|
||||
|
||||
check_ast_status.pl
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
check_ast_status.pl start|stop|restart|check
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Check the running Astguiclient processes, making sure they are
|
||||
running.
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
=over 8
|
||||
|
||||
=item
|
||||
|
||||
Description here.
|
||||
|
||||
=back
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Jason Yates <jaywhy@gmail.com>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
Copyright (C) 2006 Matt Florell <vicidial@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
@@ -1,40 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict;
|
||||
use lib '../lib';
|
||||
|
||||
use Astguiclient::Daemon::Dialer;
|
||||
|
||||
Astguiclient::Daemon::Dialer->run();
|
||||
|
||||
__END__
|
||||
|
||||
=head1 NAME
|
||||
|
||||
dialerd.pl
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Run Vicidial auto dialer.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Jason Yates <jaywhy@gmail.com>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
Copyright (C) 2006 Matt Florell <vicidial@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
@@ -1,24 +0,0 @@
|
||||
### server information
|
||||
min_servers 3
|
||||
max_servers 8
|
||||
min_spare_servers 3
|
||||
|
||||
max_requests 1000
|
||||
|
||||
### user and group to become
|
||||
#user astguiclient
|
||||
#group astguiclient
|
||||
|
||||
### logging ?
|
||||
log_file ../log/agid.log
|
||||
log_level 4
|
||||
pid_file ../run/agid.pid
|
||||
|
||||
### access control
|
||||
|
||||
### background the process?
|
||||
#background 1
|
||||
|
||||
### ports to bind
|
||||
host 127.0.0.1
|
||||
port 4573
|
||||
@@ -1,14 +0,0 @@
|
||||
Server:
|
||||
Server_ip: 192.168.1.2
|
||||
Database:
|
||||
Host: 192.168.1.2
|
||||
User: jaywhy
|
||||
Password: password
|
||||
Port: 3306
|
||||
DB_name: astguiclient_development
|
||||
Manager:
|
||||
User: jaywhy
|
||||
Password: password
|
||||
Plugins:
|
||||
- Transfer
|
||||
- Test
|
||||
@@ -1,120 +0,0 @@
|
||||
package Astguiclient;
|
||||
|
||||
use strict;
|
||||
|
||||
use DBI;
|
||||
use Astguiclient::Config;
|
||||
use Astguiclient::Cache;
|
||||
use Astguiclient::Campaign;
|
||||
|
||||
use vars qw/ $DBI $MANAGER $CAMPAIGN $CONFIG $CACHE /;
|
||||
|
||||
$Astguiclient::VERSION = '0.1';
|
||||
|
||||
BEGIN { require 5.006; }
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Astguiclient - Main application module.
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This is Astguiclient.
|
||||
|
||||
=head2 new
|
||||
|
||||
=cut
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
|
||||
my $self = bless {}, $class;
|
||||
|
||||
# Setup accessors;
|
||||
Astguiclient->config( Astguiclient::Config->new() );
|
||||
Astguiclient->campaign( Astguiclient::Campaign->new() );
|
||||
|
||||
my $f = Astguiclient->config->file();
|
||||
my $dsn = "DBI:mysql:database=$f->{'Database'}{'DB_name'};host=$f->{'Database'}{'Host'};port=$f->{'Database'}{'Port'}";
|
||||
my $dbh = DBI->connect( $dsn, $f->{'Database'}{'User'}, $f->{'Database'}{'Password'}, { RaiseError => 1, AutoCommit => 1 } )
|
||||
or die $DBI::errstr;
|
||||
|
||||
Astguiclient->dbi( $dbh );
|
||||
Astguiclient->cache( Astguiclient::Cache->new() );
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
=head2 config
|
||||
|
||||
An accessor for L<Astguiclient::Config>.
|
||||
|
||||
=cut
|
||||
|
||||
sub config {
|
||||
my $class = shift;
|
||||
$CONFIG = shift if(@_);
|
||||
return $CONFIG;
|
||||
}
|
||||
|
||||
=head2 cache
|
||||
|
||||
An accessor for the Cache object.
|
||||
|
||||
=cut
|
||||
|
||||
sub cache {
|
||||
my $class = shift;
|
||||
$CACHE = shift if(@_);
|
||||
return $CACHE;
|
||||
}
|
||||
|
||||
=head2 dbi
|
||||
|
||||
An accessor for the DBI object.
|
||||
|
||||
=cut
|
||||
|
||||
sub dbi {
|
||||
my $class = shift;
|
||||
$DBI = shift if(@_);
|
||||
return $DBI;
|
||||
}
|
||||
|
||||
=head2 campaign
|
||||
|
||||
An accessor for L<Astguiclient::Campaign>.
|
||||
|
||||
=cut
|
||||
|
||||
sub campaign {
|
||||
my $class = shift;
|
||||
$CAMPAIGN = shift if(@_);
|
||||
return $CAMPAIGN;
|
||||
}
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Jason Yates <jaywhy@gmail.com>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
Copyright (C) 2006 Matt Florell <vicidial@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
=cut
|
||||
|
||||
1;
|
||||
@@ -1,149 +0,0 @@
|
||||
package Astguiclient::AGI;
|
||||
|
||||
use strict;
|
||||
use base qw/Astguiclient Class::Accessor::Fast/;
|
||||
|
||||
use Asterisk::AGI;
|
||||
use Astguiclient::AGI::Call;
|
||||
use UNIVERSAL::require;
|
||||
|
||||
__PACKAGE__->mk_accessors( qw/ agi method path params server / );
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Astguiclient::AGI - Module used for AGI scripts.
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Give description here
|
||||
|
||||
=head2 new
|
||||
|
||||
=cut
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
my $self = $class->SUPER::new();
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
sub load {
|
||||
my $self = shift;
|
||||
$self->_load_plugins();
|
||||
$self->agi( Asterisk::AGI->new() );
|
||||
}
|
||||
|
||||
=head2 call
|
||||
|
||||
=cut
|
||||
|
||||
sub call {
|
||||
my $self = shift;
|
||||
|
||||
if( not defined $self->{call} ) {
|
||||
# NOTE why is this in calleridname?? and not callerid?
|
||||
my($call_list_id, $campaign_id) = split(/:/, $self->input->{calleridname});
|
||||
|
||||
$self->{call} = Astguiclient::AGI::Call->new(
|
||||
call_list_id => $call_list_id,
|
||||
campaign_id => $campaign_id,
|
||||
unique_id => $self->input->{uniqueid}
|
||||
);
|
||||
}
|
||||
|
||||
return $self->{call};
|
||||
}
|
||||
|
||||
=head2 input
|
||||
|
||||
=cut
|
||||
|
||||
sub input {
|
||||
my($self, $param) = @_;
|
||||
|
||||
if( not defined $self->{input} ) {
|
||||
$self->parse_request();
|
||||
}
|
||||
|
||||
return $param ? $self->{input}{$param} : $self->{input};
|
||||
}
|
||||
|
||||
=head2 parse_request
|
||||
|
||||
=cut
|
||||
|
||||
sub parse_request {
|
||||
my $self = shift;
|
||||
|
||||
# Parse the request.
|
||||
my %input = $self->agi->ReadParse();
|
||||
$self->{input} = \%input;
|
||||
|
||||
# Grab the method and optional path.
|
||||
my($method, $path) = $self->{input}{'request'} =~ m/\/(\w+)\?*([^\.]*)$/;
|
||||
|
||||
# Parse each parameter. Format is ?blah=foo&asdf=blah
|
||||
# Turns into: { blah => foo, asdf => blah }.
|
||||
my %params;
|
||||
my(@pairs) = split(/[&;]/,$path);
|
||||
foreach (@pairs) {
|
||||
my($p,$v) = split('=',$_,2);
|
||||
$params{$p} = $v;
|
||||
}
|
||||
|
||||
# Setup accessors.
|
||||
$self->params( \%params );
|
||||
$self->method( $method );
|
||||
$self->path( $path );
|
||||
}
|
||||
|
||||
=head2 param
|
||||
|
||||
=cut
|
||||
|
||||
sub param {
|
||||
my($self, $param) = @_;
|
||||
return $self->params->{$param};
|
||||
}
|
||||
|
||||
=head2 _load_plugins
|
||||
|
||||
=cut
|
||||
|
||||
sub _load_plugins {
|
||||
my $self = shift;
|
||||
my $plugins = Astguiclient->config->file->{Plugins};
|
||||
foreach my $plugin (@$plugins) {
|
||||
my $class = "Astguiclient::AGI::Plugin::" . $plugin;
|
||||
$self->server->log(4, "Loading plugin: $class for: $$");
|
||||
$class->use or die $@;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Jason Yates <jaywhy@gmail.com>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
Copyright (C) 2006 Matt Florell <vicidial@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
=cut
|
||||
|
||||
1;
|
||||
@@ -1,107 +0,0 @@
|
||||
package Astguiclient::Campaign;
|
||||
|
||||
use strict;
|
||||
use Astguiclient::Campaign::Record;
|
||||
|
||||
=head1 name
|
||||
|
||||
Astguiclient::Campaign - .
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This module is essentially a ORM to the campaigns table.
|
||||
|
||||
=head2 new
|
||||
|
||||
=cut
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
return bless {}, $class;
|
||||
}
|
||||
|
||||
=head2 find
|
||||
|
||||
Decide what campaigns to load up. Has several options explained
|
||||
below.
|
||||
|
||||
=head3 Parameters
|
||||
|
||||
=over
|
||||
|
||||
=item type
|
||||
|
||||
This is a scalar telling what type of campaigns to load up. Default
|
||||
will load up "all".
|
||||
|
||||
=item * all
|
||||
|
||||
Loads up all available campaigns.
|
||||
|
||||
=item * active_agents
|
||||
|
||||
Loads up campaigns with active agents not paused.
|
||||
|
||||
=item id => 'campaign_id'
|
||||
|
||||
Will load up campaign only with the given id
|
||||
|
||||
=cut
|
||||
|
||||
sub find {
|
||||
my $self = shift;
|
||||
my $type = shift unless(ref $_[0]);
|
||||
my %args = (
|
||||
id => undef,
|
||||
@_
|
||||
);
|
||||
|
||||
my $sql;
|
||||
if( defined $args{id} ) {
|
||||
$args{id} = Astguiclient->dbi->quote( $args{id} );
|
||||
$sql = "SELECT * FROM campaigns WHERE id = $args{id}";
|
||||
} elsif( $type eq 'with_active_agents' ) {
|
||||
$sql =
|
||||
"SELECT campaigns.* FROM campaigns INNER JOIN agents
|
||||
ON campaigns.id = agents.campaign_id
|
||||
WHERE agents.status != 'pause'
|
||||
GROUP BY campaigns.id";
|
||||
} else {
|
||||
$sql = "SELECT * FROM campaigns";
|
||||
}
|
||||
|
||||
my $sth = Astguiclient->dbi->prepare( $sql );
|
||||
$sth->execute();
|
||||
my(@records);
|
||||
while( my $ref = $sth->fetchrow_hashref() ) {
|
||||
push( @records, Astguiclient::Campaign::Record->new( $ref ) );
|
||||
}
|
||||
|
||||
return @records;
|
||||
}
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Jason Yates <jaywhy@gmail.com>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
Copyright (C) 2006 Matt Florell <vicidial@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
=cut
|
||||
|
||||
1;
|
||||
@@ -1,191 +0,0 @@
|
||||
package Astguiclient::Campaign::Agent;
|
||||
|
||||
use strict;
|
||||
use base qw(Class::Accessor::Fast);
|
||||
|
||||
__PACKAGE__->mk_accessors( qw/ active total list / );
|
||||
|
||||
=head1 name
|
||||
|
||||
Astguiclient::Campaign::Agent - .
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
=head2 new
|
||||
|
||||
=cut
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
my %args = @_;
|
||||
my $self = bless \%args, $class;
|
||||
return $self;
|
||||
}
|
||||
|
||||
=head2 find
|
||||
|
||||
Load the agent information. This is called automatically by new,
|
||||
however if reload is required call again.
|
||||
|
||||
$self->find(
|
||||
conditions => [ "STATUS in ( ?, ?)", @bind_params ]
|
||||
);
|
||||
|
||||
=head3 Parameters
|
||||
|
||||
=over
|
||||
|
||||
=item conditions
|
||||
|
||||
A way to send into conditions in the where clause of the query. If
|
||||
bind parameters are needed, the query should and be sent in as an
|
||||
array ref.
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
||||
|
||||
sub find {
|
||||
my $self = shift;
|
||||
my %args = (
|
||||
conditions => undef,
|
||||
@_,
|
||||
);
|
||||
|
||||
my $sql;
|
||||
my @bind_params = ( $self->{id} );
|
||||
if( $args{conditions} ) {
|
||||
# If the condition has bind parameters
|
||||
if( ref( $args{conditions} ) ) {
|
||||
$sql .= " AND " . shift @{$args{conditions}};
|
||||
push( @bind_params, @{ $args{conditions} } );
|
||||
} else {
|
||||
# No bind params just sent in scalar.
|
||||
$sql .= " AND $args{conditions}";
|
||||
}
|
||||
}
|
||||
|
||||
if( ! wantarray ) {
|
||||
return $self->_count($sql, @bind_params);
|
||||
} else {
|
||||
return $self->_records($sql, @bind_params);
|
||||
}
|
||||
}
|
||||
|
||||
=head2 active
|
||||
|
||||
If in array or list context will return a list of active agents. In
|
||||
scalar context will return a count of active agents.
|
||||
|
||||
=cut
|
||||
|
||||
sub active {
|
||||
my $self = shift;
|
||||
return $self->find( conditions => ["status = ?", 'active' ] );
|
||||
}
|
||||
|
||||
=head2 wait
|
||||
|
||||
Return the agents which are waiting. In array context returns array
|
||||
of records, in scalar returns count of waiting agents.
|
||||
|
||||
=cut
|
||||
|
||||
sub wait {
|
||||
my $self = shift;
|
||||
return $self->find( conditions => ["status = ?", 'wait' ] );
|
||||
}
|
||||
|
||||
=head2 idle
|
||||
|
||||
Return the agents which are idle. In array context returns array of
|
||||
records, in scalar returns count of idle agents.
|
||||
|
||||
=cut
|
||||
|
||||
sub idle {
|
||||
my $self = shift;
|
||||
return $self->find( conditions => ["status = ?", 'idle' ] );
|
||||
}
|
||||
|
||||
=head2 idle_to
|
||||
|
||||
Change idle agents to another status.
|
||||
|
||||
=cut
|
||||
|
||||
sub idle_to {
|
||||
my($self, $new_status) = @_;
|
||||
|
||||
if( !wantarray ) {
|
||||
my $count = $self->find( conditions => ["status = ?", 'idle']);
|
||||
$self->_update_from_to( 'idle', $new_status );
|
||||
return $count;
|
||||
} else {
|
||||
my @agents = $self->find( conditions => ["status = ?", 'idle' ] );
|
||||
$self->_update_from_to( 'idle', $new_status );
|
||||
return @agents;
|
||||
}
|
||||
}
|
||||
|
||||
sub _update_from_to {
|
||||
my($self, $status, $new_status) = @_;
|
||||
|
||||
Astguiclient->dbi->do( "UPDATE agents SET status = ?
|
||||
WHERE status = ? AND campaign_id = ?",
|
||||
undef,
|
||||
$new_status, $status, $self->{id}
|
||||
);
|
||||
}
|
||||
|
||||
sub _count {
|
||||
my($self, $sql, @bind_params) = @_;
|
||||
|
||||
# Return a count of agents.
|
||||
return Astguiclient->dbi->selectrow_array("SELECT count(*) FROM agents WHERE campaign_id = ?" . $sql,
|
||||
undef,
|
||||
@bind_params
|
||||
);
|
||||
}
|
||||
|
||||
sub _records {
|
||||
my($self, $sql, @bind_params) = @_;
|
||||
|
||||
# Create the SQL statement.
|
||||
my $sth = Astguiclient->dbi->prepare("SELECT * FROM agents WHERE campaign_id = ?" . $sql);
|
||||
$sth->execute( @bind_params );
|
||||
my @records;
|
||||
while( my $ref = $sth->fetchrow_hashref() ) {
|
||||
push( @records, $ref );
|
||||
}
|
||||
|
||||
return @records;
|
||||
}
|
||||
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Jason Yates <jaywhy@gmail.com>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
Copyright (C) 2006 Matt Florell <vicidial@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
=cut
|
||||
|
||||
1;
|
||||
@@ -1,107 +0,0 @@
|
||||
package Astguiclient::Campaign::Record;
|
||||
|
||||
use strict;
|
||||
use base qw(Class::Accessor::Fast);
|
||||
|
||||
use Astguiclient::Campaign::Agent;
|
||||
|
||||
__PACKAGE__->mk_accessors(qw/ agent /);
|
||||
|
||||
=head1 name
|
||||
|
||||
Astguiclient::Campaign::Record
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Object for each individual Campaign record.
|
||||
|
||||
=head2 new
|
||||
|
||||
=cut
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
my $self = bless shift, $class;
|
||||
|
||||
$self->agent(
|
||||
Astguiclient::Campaign::Agent->new( id => $self->{id} )
|
||||
);
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
=head2 hopper $COUNT
|
||||
|
||||
Return a list of numbers to call. A count is required for this to
|
||||
work properly.
|
||||
|
||||
=cut
|
||||
|
||||
sub hopper {
|
||||
my($self, $count) = @_;
|
||||
|
||||
my $sth = Astguiclient->dbi->prepare("SELECT call_lists.id, call_lists.phone FROM call_lists
|
||||
WHERE campaign_id = ? AND called = '0'
|
||||
ORDER by id asc LIMIT $count"
|
||||
);
|
||||
$sth->execute( $self->{id} );
|
||||
my(@hopper);
|
||||
while( my $ref = $sth->fetchrow_hashref() ) {
|
||||
# Make the dial string aka the phone number were calling.
|
||||
$ref->{dial_string} = "Local/" . $ref->{phone};
|
||||
push(@hopper, $ref);
|
||||
}
|
||||
|
||||
# Set these records to called.
|
||||
Astguiclient->dbi->do("UPDATE call_lists SET called = '1'
|
||||
WHERE campaign_id = ? AND called = '0'
|
||||
ORDER BY id asc LIMIT $count",
|
||||
undef,
|
||||
$self->{id}
|
||||
);
|
||||
|
||||
return @hopper;
|
||||
}
|
||||
|
||||
=head2 active_calls
|
||||
|
||||
Returns the number of active_calls in this campaign.
|
||||
|
||||
=cut
|
||||
|
||||
sub active_calls {
|
||||
my $self = shift;
|
||||
return Astguiclient->cache->get( $self->{id} . "_active_calls" );
|
||||
}
|
||||
|
||||
|
||||
|
||||
=head2 agent
|
||||
|
||||
Returns the agent object.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Jason Yates <jaywhy@gmail.com>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
Copyright (C) 2006 Matt Florell <vicidial@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
=cut
|
||||
|
||||
1;
|
||||
@@ -1,77 +0,0 @@
|
||||
package Astguiclient::Config;
|
||||
|
||||
use strict;
|
||||
use Astguiclient::Util;
|
||||
use YAML::Syck;
|
||||
|
||||
use vars qw( $SERVER $FILE );
|
||||
|
||||
=head1 name
|
||||
|
||||
Astguiclient::Config - Manage the configuration file.
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
=head2 new
|
||||
|
||||
Object constructor
|
||||
|
||||
=cut
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
return bless {}, $class;
|
||||
}
|
||||
|
||||
=head2 load
|
||||
|
||||
Load the configuration file.
|
||||
|
||||
=cut
|
||||
|
||||
sub file {
|
||||
my $self = shift;
|
||||
|
||||
return $FILE if defined $FILE;
|
||||
|
||||
my $file = Astguiclient::Util->app_root . '/etc/astguiclient.yaml';
|
||||
$FILE = LoadFile($file);
|
||||
}
|
||||
|
||||
#sub server {
|
||||
# my $self = shift;
|
||||
#
|
||||
# return $SERVER if defined $SERVER;
|
||||
#
|
||||
# $SERVER = Astguiclient->dbi->selectrow_hashref(
|
||||
# "SELECT * FROM servers where server_ip = ?",
|
||||
# undef,
|
||||
# Astguiclient->config->file->{'Server'}{'Server_ip'}
|
||||
# );
|
||||
#}
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Jason Yates <jaywhy@gmail.com>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
Copyright (C) 2006 Matt Florell <vicidial@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
=cut
|
||||
|
||||
1;
|
||||
@@ -1,95 +0,0 @@
|
||||
package Astguiclient::Daemon::AGI;
|
||||
|
||||
use strict;
|
||||
use vars qw(@ISA);
|
||||
|
||||
use Net::Server::PreFork; # any personality will do
|
||||
use Astguiclient::AGI;
|
||||
|
||||
@ISA = qw(Net::Server::PreFork);
|
||||
|
||||
=head1 name
|
||||
|
||||
Astguiclient::Server - Preforking fastagi server.
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
=head2 process_request
|
||||
|
||||
This will process the agi request from asterisk.
|
||||
|
||||
=cut
|
||||
|
||||
sub process_request {
|
||||
my $self = shift;
|
||||
|
||||
$self->agi->parse_request();
|
||||
$self->_handle_request();
|
||||
}
|
||||
|
||||
=head2 _handle_request
|
||||
|
||||
=cut
|
||||
|
||||
sub _handle_request {
|
||||
my $self = shift;
|
||||
|
||||
my $agi = $self->agi;
|
||||
if( $agi->can( $agi->method ) ) {
|
||||
my $method = $agi->method;
|
||||
$self->log(4, "Handling request: $method");
|
||||
$agi->$method();
|
||||
} else { # Can't find that method.
|
||||
$self->log(3, "No method found for: " . $agi->method);
|
||||
$agi->agi->execute( 'NOOP' ); #NOTE is this the right thing todo?
|
||||
}
|
||||
}
|
||||
|
||||
=head2 agi
|
||||
|
||||
=cut
|
||||
|
||||
sub agi {
|
||||
my $self = shift;
|
||||
return $self->{server}{agi};
|
||||
}
|
||||
|
||||
=head2 child_init_hook
|
||||
|
||||
=cut
|
||||
|
||||
sub child_init_hook {
|
||||
my $self = shift;
|
||||
|
||||
my $agi = Astguiclient::AGI->new;
|
||||
$agi->server( $self );
|
||||
$agi->load();
|
||||
|
||||
$self->{server}{agi} = $agi;
|
||||
}
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Jason Yates <jaywhy@gmail.com>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
Copyright (C) 2006 Matt Florell <vicidial@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
=cut
|
||||
|
||||
1;
|
||||
@@ -1,86 +0,0 @@
|
||||
package Astguiclient::Daemon::Dialer;
|
||||
|
||||
use strict;
|
||||
use Astguiclient::Dialer;
|
||||
use base qw/Astguiclient::Daemon Class::Accessor::Fast/;
|
||||
|
||||
__PACKAGE__->mk_accessors( qw/ dialer / );
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Astguiclient::Daemon::Dialer - Dialer module.
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This modules creates a daemon for auto dialing.
|
||||
|
||||
=head2 loop
|
||||
|
||||
Called by daemon.
|
||||
|
||||
=cut
|
||||
sub loop {
|
||||
my $self = shift;
|
||||
|
||||
$self->dialer->run();
|
||||
|
||||
# Check dialer status.
|
||||
if( $self->dialer->status() eq 'off') {
|
||||
# No agents are signed in. Reset sleep timer.
|
||||
$self->sleep(30);
|
||||
} else {
|
||||
$self->sleep(2);
|
||||
}
|
||||
}
|
||||
|
||||
=head2 init
|
||||
|
||||
Called by daemon in init process.
|
||||
|
||||
=cut
|
||||
|
||||
sub init {
|
||||
my $self = shift;
|
||||
$self->dialer( Astguiclient::Dialer->new() );
|
||||
|
||||
$self->SUPER::init();
|
||||
}
|
||||
|
||||
=head2 cleanup {
|
||||
|
||||
Called when process is killed.
|
||||
|
||||
=cut
|
||||
|
||||
sub cleanup {
|
||||
my $self = shift;
|
||||
$self->dialer->cleanup();
|
||||
|
||||
$self->SUPER::cleanup();
|
||||
}
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Jason Yates <jaywhy@gmail.com>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
Copyright (C) 2006 Matt Florell <vicidial@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
=cut
|
||||
|
||||
1;
|
||||
@@ -1,95 +0,0 @@
|
||||
package Astguiclient::VDAD;
|
||||
|
||||
use strict;
|
||||
use base qw/Astguiclient Class::Accessor::Fast/;
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Astguiclient::VDAD - Vicidial module
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Give description here
|
||||
|
||||
=head2 new
|
||||
|
||||
=cut
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
return bless {}, $class;
|
||||
}
|
||||
|
||||
=head2 auto_dial
|
||||
|
||||
=cut
|
||||
|
||||
=head2 auto_dial
|
||||
|
||||
=cut
|
||||
|
||||
sub auto_dial {
|
||||
my $self = shift;
|
||||
|
||||
# Get a list of campaigns which have active agents.
|
||||
my @campaigns = $self->campaign->find('active_agents');
|
||||
|
||||
foreach my $campaign (@campaigns) {
|
||||
$self->place_calls( $campaign );
|
||||
}
|
||||
}
|
||||
|
||||
=head2 place_calls
|
||||
|
||||
Place calls.
|
||||
|
||||
=cut
|
||||
|
||||
sub place_calls {
|
||||
my $self = shift;
|
||||
my $campaign = shift;
|
||||
|
||||
# Find the number of calls to place for this campaign.
|
||||
my $num_calls = $campaign->agent->idle() * $campaign->{auto_dial_level};
|
||||
|
||||
# Load a list of numbers up for this campaign.
|
||||
my @list = $campaign->hopper( $num_calls );
|
||||
|
||||
foreach my $item (@list) {
|
||||
$self->manager->sendcommand(
|
||||
'Channel' => $item->{dial_string},
|
||||
'Context' => 'default', #NOTE: Should we get this from servers? Why not just have a default context?
|
||||
'Exten' => $campaign->{campaign_vdad_exten},
|
||||
'Timeout' => '30', #NOTE: Get from somewhere else.
|
||||
'Action' => 'Originate',
|
||||
'Callerid' => "$item->{lead_id}:$campaign->{campaign_id}",
|
||||
'Priority' => '1',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Jason Yates <jaywhy@gmail.com>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
Copyright (C) 2006 Matt Florell <vicidial@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
=cut
|
||||
|
||||
1;
|
||||
@@ -1,54 +0,0 @@
|
||||
package Astguiclient::Log
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Astguiclient::Log - Log functions
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
=head2
|
||||
|
||||
Returns the root directory where Astguiclient has been installed.
|
||||
|
||||
=cut
|
||||
|
||||
sub app_root {
|
||||
my $self = shift;
|
||||
|
||||
if( not defined $APP_ROOT ) {
|
||||
# Pop out bin/ from the cwd
|
||||
my @dirs = File::Spec->splitdir( Cwd::cwd() );
|
||||
pop @dirs;
|
||||
$APP_ROOT = File::Spec->catdir( @dirs );
|
||||
}
|
||||
|
||||
return $APP_ROOT;
|
||||
}
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Jason Yates <jaywhy@gmail.com>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
Copyright (C) 2006 Matt Florell <vicidial@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
=cut
|
||||
|
||||
1;
|
||||
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
package Astguiclient::Util;
|
||||
|
||||
use File::Spec;
|
||||
use Cwd;
|
||||
|
||||
use vars qw( @dirs );
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Astguiclient::Util - Util functions
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
=head2 app_root
|
||||
|
||||
Returns the root directory where Astguiclient has been installed.
|
||||
|
||||
=cut
|
||||
|
||||
sub app_root {
|
||||
my $self = shift;
|
||||
|
||||
if( not defined $APP_ROOT ) {
|
||||
# Pop out bin/ from the cwd
|
||||
my @dirs = File::Spec->splitdir( Cwd::cwd() );
|
||||
pop @dirs if($dirs[-1] =~ 'bin');
|
||||
$APP_ROOT = File::Spec->catdir( @dirs );
|
||||
}
|
||||
|
||||
return $APP_ROOT;
|
||||
}
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Jason Yates <jaywhy@gmail.com>
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
Copyright (C) 2006 Matt Florell <vicidial@gmail.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
=cut
|
||||
|
||||
1;
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
use Test::More tests => 3;
|
||||
|
||||
use_ok("Astguiclient");
|
||||
use_ok("Astguiclient::Daemon::AGI");
|
||||
use_ok("Astguiclient::AGI");
|
||||
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Makes sure that all of the modules that are 'use'd are listed in the
|
||||
Makefile.PL as dependencies.
|
||||
|
||||
=cut
|
||||
|
||||
use Test::More qw(no_plan);
|
||||
use File::Find;
|
||||
use Module::CoreList;
|
||||
|
||||
my %used;
|
||||
find( \&wanted, qw/ lib bin t /);
|
||||
|
||||
sub wanted {
|
||||
return unless -f $_;
|
||||
return if $File::Find::dir =~ m!/.svn($|/)!;
|
||||
return if $File::Find::name =~ /~$/;
|
||||
return if $File::Find::name =~ /\.pod$/;
|
||||
|
||||
# read in the file from disk
|
||||
my $filename = $_;
|
||||
local $/;
|
||||
open(FILE, $filename) or return;
|
||||
my $data = <FILE>;
|
||||
close(FILE);
|
||||
|
||||
# strip pod, in a really idiotic way. Good enough though
|
||||
$data =~ s/^=head.+?(^=cut|\Z)//gms;
|
||||
|
||||
# look for use and use base statements
|
||||
$used{$1}{$filename}++ while $data =~ /^\s*use\s+([\w:]+)/gm;
|
||||
while ($data =~ m|^\s*use base qw.([\w\s:]+)|gm) {
|
||||
$used{$_}{$filename}++ for split ' ', $1;
|
||||
}
|
||||
}
|
||||
|
||||
my %required;
|
||||
{
|
||||
local $/;
|
||||
ok(open(MAKEFILE,"Makefile.PL"), "Opened Makefile");
|
||||
my $data = <MAKEFILE>;
|
||||
close(FILE);
|
||||
while ($data =~ /^\s*?(?:requires|recommends)\('([\w:]+)'(?:\s*=>\s*['"]?([\d\.]+)['"]?)?.*?(?:#(.*))?$/gm) {
|
||||
$required{$1} = $2;
|
||||
if (defined $3 and length $3) {
|
||||
$required{$_} = undef for split ' ', $3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (sort keys %used) {
|
||||
my $first_in = Module::CoreList->first_release($_);
|
||||
next if defined $first_in and $first_in <= 5.00803;
|
||||
next if /^(Astguiclient|inc|t|TestApp|Application)(::|$)/;
|
||||
ok(exists $required{$_}, "$_ in Makefile.PL")
|
||||
or diag("used in ", join ", ", sort keys %{ $used{$_ } });
|
||||
delete $used{$_};
|
||||
delete $required{$_};
|
||||
}
|
||||
|
||||
for (sort keys %required) {
|
||||
my $first_in = Module::CoreList->first_release($_, $required{$_});
|
||||
fail("Required module $_ is already in core") if defined $first_in and $first_in <= 5.00803;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
use Test::More test => '1';
|
||||
use Astguiclient;
|
||||
|
||||
my $a = Astguiclient->new();
|
||||
ok(Astguiclient->dbi->ping);
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
use Test::More tests => 1;
|
||||
use Astguiclient;
|
||||
|
||||
my $a = Astguiclient->new();
|
||||
ok($a->config->file);
|
||||
@@ -6,6 +6,8 @@ For more brief install instructions read the docs/BASE_INSTALL.txt file
|
||||
|
||||
For Requirements of astGUIclient/VICIDIAL read the docs/REQUIREMENTS.txt file
|
||||
|
||||
For installtion on Ubuntu Linux read the docs/Ubuntu_install.txt
|
||||
|
||||
|
||||
To place the astGUIclient/VICIDIAL files where they belong on the server:
|
||||
run the install.pl script from this directory:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Asterisk/astguiclient install from existing server. v.2.0.5 2008-XX-XX
|
||||
Asterisk/astguiclient install from existing server. v.2.0.5 2009-03-15
|
||||
By the VICIDIAL group info@vicidial.com
|
||||
|
||||
|
||||
@@ -31,9 +31,9 @@ PHASE 1: INSTALLING ASTERISK
|
||||
1. follow these command line steps:
|
||||
mkdir /usr/src/asterisk
|
||||
cd /usr/src/asterisk
|
||||
wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.30.2.tar.gz
|
||||
wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.27.tar.gz
|
||||
wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.8.tar.gz
|
||||
wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.2.30.2.tar.gz
|
||||
wget http://downloads.digium.com/pub/zaptel/releases/zaptel-1.2.27.tar.gz
|
||||
wget http://downloads.digium.com/pub/libpri/releases/libpri-1.2.8.tar.gz
|
||||
gunzip asterisk-1.2.30.2.tar.gz
|
||||
tar xvf asterisk-1.2.30.2.tar
|
||||
gunzip zaptel-1.2.27.tar.gz
|
||||
@@ -41,7 +41,7 @@ tar xvf zaptel-1.2.27.tar
|
||||
gunzip libpri-1.2.8.tar.gz
|
||||
tar xvf libpri-1.2.8.tar
|
||||
cd ./zaptel-1.2.27
|
||||
wget http://downloads.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
wget http://download.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
gunzip newt-0.51.6.tar.gz
|
||||
tar xvf newt-0.51.6.tar
|
||||
cd newt-0.51.6
|
||||
@@ -90,11 +90,11 @@ cd ../asterisk-1.2.30.2
|
||||
- File to patch: cli.c
|
||||
|
||||
*OPTIONAL*(1.2.14 thru 1.2.30.2) rewrite of waitforsilence
|
||||
wget http://downloads.vicidial.com/asterisk-patches/app_waitforsilence.c
|
||||
wget http://download.vicidial.com/asterisk-patches/app_waitforsilence.c
|
||||
mv -f app_waitforsilence.c apps/app_waitforsilence.c
|
||||
|
||||
* REQUIRED for gcc 4.2 systems*
|
||||
wget http://downloads.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch
|
||||
wget http://download.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch
|
||||
patch -p1 ./codecs/gsm/Makefile 1.2-gsm-gcc4.2.patch
|
||||
|
||||
*OPTIONAL* shorter enter and leave sounds for meetme
|
||||
@@ -135,12 +135,12 @@ them:
|
||||
- If you have chosen a Sangoma T1/E1 or analog card, you will need to
|
||||
follow their instructions for installation of their driver software
|
||||
LATEST Sangoma Wanpipe drivers:
|
||||
ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-3.2.7.1.tgz
|
||||
ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-3.3.9.tgz
|
||||
- now your asterisk installation is built and loaded and it's time to
|
||||
configure it.
|
||||
|
||||
NOTES: If you want to install zttool diagnostics you may need the newt package installed:
|
||||
http://downloads.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
http://download.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
ln -s /usr/lib/libnewt.so.0.51.6 /usr/lib/libnewt.so.0.51
|
||||
then go to your zaptel folder and do 'make zttool'
|
||||
|
||||
@@ -191,20 +191,20 @@ VICIDIAL components to the system.
|
||||
There are two methods for downloading astGUIclient/VICIDIAL, a release and SVN
|
||||
|
||||
1. Go to http://astguiclient.sf.net/ and download the latest astguiclient
|
||||
package(as of this writing it is 2.0.4.1)
|
||||
package(as of this writing it is 2.0.5)
|
||||
- for 2.0.X release:
|
||||
mkdir /usr/src/astguiclient
|
||||
cd /usr/src/astguiclient
|
||||
wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.4.1.zip
|
||||
unzip astguiclient_2.0.4.1.zip
|
||||
wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.5.zip
|
||||
unzip astguiclient_2.0.5.zip
|
||||
perl install.pl
|
||||
- for SVN 2.0.4 branch:
|
||||
- for SVN 2.0.5 branch:
|
||||
mkdir /usr/src/astguiclient
|
||||
cd /usr/src/astguiclient
|
||||
svn checkout svn://svn.eflo.net:43690/agc_2-X/branches/agc_2.0.4
|
||||
cd agc_2.0.4
|
||||
svn checkout svn://svn.eflo.net:43690/agc_2-X/branches/agc_2.0.5
|
||||
cd agc_2.0.5
|
||||
perl install.pl
|
||||
- for SVN 2.0 trunk:
|
||||
- for SVN 2.2 trunk:
|
||||
mkdir /usr/src/astguiclient
|
||||
cd /usr/src/astguiclient
|
||||
svn checkout svn://svn.eflo.net:43690/agc_2-X/trunk
|
||||
@@ -215,7 +215,7 @@ package(as of this writing it is 2.0.4.1)
|
||||
package, it's the conf.gsm file(this is the half-hour music file that we use
|
||||
to put people on hold). I have a free classical music file that is available
|
||||
free for download at the following two sites:
|
||||
http://downloads.vicidial.com/sounds/conf.gsm
|
||||
http://download.vicidial.com/sounds/conf.gsm
|
||||
http://astguiclient.sf.net/conf.gsm
|
||||
Once you have downloaded it, you will need to copy it to this folder:
|
||||
/var/lib/asterisk/sounds/
|
||||
@@ -223,7 +223,7 @@ free for download at the following two sites:
|
||||
'cp /var/lib/asterisk/sounds/conf.gsm /var/lib/asterisk/sounds/park.gsm'
|
||||
Here are the steps spelled out:
|
||||
cd /var/lib/asterisk/sounds
|
||||
wget http://downloads.vicidial.com/sounds/conf.gsm
|
||||
wget http://download.vicidial.com/sounds/conf.gsm
|
||||
cp conf.gsm park.gsm
|
||||
- you are done
|
||||
|
||||
@@ -294,21 +294,21 @@ use asterisk;
|
||||
|
||||
\. /usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql
|
||||
or you may need to run this if you get an error:
|
||||
\. /usr/src/astguiclient/agc_2.0.5/extras/MySQL_AST_CREATE_tables.sql
|
||||
\. /usr/src/astguiclient/astguiclient/MySQL_AST_CREATE_tables.sql
|
||||
|
||||
### to load in default IAX and SIP phone accounts run the following query
|
||||
|
||||
\. /usr/src/astguiclient/trunk/extras/sip-iax_phones.sql
|
||||
or you may need to run this if you get an error:
|
||||
\. /usr/src/astguiclient/agc_2.0.4/extras/sip-iax_phones.sql
|
||||
\. /usr/src/astguiclient/agc_2.0.5/extras/sip-iax_phones.sql
|
||||
\. /usr/src/astguiclient/astguiclient/sip-iax_phones.sql
|
||||
|
||||
|
||||
### to load the initial server values for this first system install
|
||||
|
||||
\. /usr/src/astguiclient/trunk/extras/first_server_install.sql
|
||||
or you may need to run this if you get an error:
|
||||
\. /usr/src/astguiclient/agc_2.0.4/extras/first_server_install.sql
|
||||
\. /usr/src/astguiclient/agc_2.0.5/extras/first_server_install.sql
|
||||
\. /usr/src/astguiclient/astguiclient/first_server_install.sql
|
||||
|
||||
quit
|
||||
@@ -466,7 +466,7 @@ PHASE 6: ADDING CRONTAB ENTRIES FOR ASTGUICLIENT/VICIDIAL SCRIPTS
|
||||
* * * * * /usr/share/astguiclient/AST_VDhopper.pl -q
|
||||
|
||||
### adjust the GMT offset for the leads in the vicidial_list table
|
||||
1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug --postal-code-gmt
|
||||
1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug
|
||||
|
||||
### reset several temporary-info tables in the database
|
||||
2 1 * * * /usr/share/astguiclient/AST_reset_mysql_vars.pl
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Quick install of required apps v.2.0.5 2008-XX-XX
|
||||
# Quick install of required apps v.2.0.5 2009-03-15
|
||||
# This file is a supplement to the BASE_INSTALL document giving you simple copy/
|
||||
# paste installation shell commands for required and helper apps for VICIDIAL
|
||||
# might need: echo '/* Linuxthreads */' >> /usr/include/pthread.h
|
||||
@@ -152,9 +152,9 @@ cd zlib-1.2.3
|
||||
make
|
||||
make install
|
||||
cd /usr/local
|
||||
wget http://ftp.openssh.zone-h.org/pub/OpenBSD/OpenSSH/portable/openssh-5.1p1.tar.gz
|
||||
gunzip openssh-5.1p1.tar.gz
|
||||
tar xvf openssh-5.1p1.tar
|
||||
wget http://ftp.arcane-networks.fr/pub/OpenBSD/OpenSSH/portable/openssh-5.2p1.tar.gz
|
||||
gunzip openssh-5.2p1.tar.gz
|
||||
tar xvf openssh-5.2p1.tar
|
||||
cd openssh-5.1p1
|
||||
./configure
|
||||
make
|
||||
@@ -162,10 +162,10 @@ make install
|
||||
|
||||
|
||||
cd /usr/local
|
||||
wget http://www.openssl.org/source/openssl-0.9.8i.tar.gz
|
||||
gunzip openssl-0.9.8i.tar.gz
|
||||
tar xvf openssl-0.9.8i.tar
|
||||
cd openssl-0.9.8i
|
||||
wget http://www.openssl.org/source/openssl-0.9.8j.tar.gz
|
||||
gunzip openssl-0.9.8j.tar.gz
|
||||
tar xvf openssl-0.9.8j.tar
|
||||
cd openssl-0.9.8j
|
||||
./config
|
||||
make
|
||||
make install
|
||||
@@ -192,9 +192,9 @@ make install
|
||||
|
||||
|
||||
cd /usr/local
|
||||
wget http://us2.php.net/distributions/php-5.2.8.tar.gz
|
||||
gunzip php-5.2.8.tar.gz
|
||||
tar xvf php-5.2.8.tar
|
||||
wget http://us2.php.net/distributions/php-5.2.9.tar.gz
|
||||
gunzip php-5.2.9.tar.gz
|
||||
tar xvf php-5.2.9.tar
|
||||
wget http://mirror.nyi.net/apache/httpd/httpd-2.2.11.tar.gz
|
||||
gunzip httpd-2.2.11.tar.gz
|
||||
tar xvf httpd-2.2.11.tar
|
||||
@@ -212,7 +212,7 @@ openssl req -new -x509 -days 1200 -keyout /usr/local/apache2/conf/ssl.key/server
|
||||
openssl rsa -in /usr/local/apache2/conf/ssl.key/server.key.cpy -out /usr/local/apache2/conf/ssl.key/server.key
|
||||
|
||||
|
||||
cd ../php-5.2.8
|
||||
cd ../php-5.2.9
|
||||
make clean
|
||||
./configure --with-mysql=/usr/local/mysql --enable-inline-optimization --enable-memory-limit --enable-track-vars --enable-libgcc --enable-sysvsem --with-openssl --with-apxs2=/usr/local/apache2/bin/apxs --with-zlib
|
||||
make
|
||||
@@ -349,7 +349,7 @@ tar xvf zaptel-1.2.27.tar
|
||||
gunzip libpri-1.2.8.tar.gz
|
||||
tar xvf libpri-1.2.8.tar
|
||||
cd ./zaptel-1.2.27
|
||||
wget http://downloads.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
wget http://download.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
gunzip newt-0.51.6.tar.gz
|
||||
tar xvf newt-0.51.6.tar
|
||||
cd newt-0.51.6
|
||||
@@ -403,10 +403,10 @@ patch -p1 < ./cli_chan_concise_delimiter.patch
|
||||
|
||||
- File to patch: cli.c
|
||||
|
||||
wget http://downloads.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch
|
||||
wget http://download.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch
|
||||
patch -p1 ./codecs/gsm/Makefile 1.2-gsm-gcc4.2.patch
|
||||
|
||||
wget http://downloads.vicidial.com/asterisk-patches/app_waitforsilence.c
|
||||
wget http://download.vicidial.com/asterisk-patches/app_waitforsilence.c
|
||||
mv -f app_waitforsilence.c apps/app_waitforsilence.c
|
||||
wget http://www.eflo.net/files/enter.h
|
||||
wget http://www.eflo.net/files/leave.h
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Asterisk/astguiclient install from scratch. v.2.0.5 2008-12-03
|
||||
Asterisk/astguiclient install from scratch. v.2.0.5 2009-03-15
|
||||
By the VICIDIAL group info@vicidial.com
|
||||
|
||||
**** IMPORTANT - In order for vicidial/astguiclient to function correctly please
|
||||
@@ -88,7 +88,7 @@ partitions:
|
||||
- press F3 to exit and let it do it's thing, this will take an hour or so.
|
||||
|
||||
4. Go to http://www.slackware.com/getslack/ to download Slackware linux.
|
||||
The most recent release as of this writing is 12.0. This release fits on 3 CDs
|
||||
The most recent release we recommend is 11.0. This release fits on 3 CDs
|
||||
or 1 DVD. Download both installation disks from any close server listed on the
|
||||
download page and burn them both to CDs.
|
||||
|
||||
@@ -366,35 +366,45 @@ a more loaded system.
|
||||
|
||||
Go to http://www.mysql.com/ and download the mysql package
|
||||
- to install this directly on the command line type:
|
||||
- cd /usr/local
|
||||
- wget http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-4.0/mysql-4.0.27.tar.gz
|
||||
# http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-5.0/mysql-5.0.45.tar.gz
|
||||
- gunzip mysql-4.0.27.tar.gz
|
||||
- tar xvf mysql-4.0.27.tar
|
||||
- cd mysql-4.0.27
|
||||
- cd /usr/local/
|
||||
- wget http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-5.0/mysql-5.0.67.tar.gz
|
||||
- gunzip mysql-5.0.67.tar.gz
|
||||
- tar xvf mysql-5.0.67.tar
|
||||
- cd mysql-5.0.67
|
||||
- groupadd mysql
|
||||
- useradd -g mysql mysql
|
||||
- "./configure --prefix=/usr/local/mysql --enable-large-files --enable-shared=yes --with-readline"
|
||||
- ./configure --prefix=/usr/local/mysql --enable-shared=yes --with-readline --enable-thread-safe-client --enable-large-files --enable-assembler --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-big-tables
|
||||
**** If only MySQL client is needed for DBD::mysql then use this:
|
||||
- "./configure --prefix=/usr/local/mysql --without-server --enable-shared=yes --with-readline"
|
||||
**** If using version 5 tree MySQL client then use this:
|
||||
- "./configure --prefix=/usr/local/mysql --without-server --enable-shared=yes --with-readline --enable-thread-safe-client"
|
||||
- make
|
||||
- make install
|
||||
- PATH=$PATH:$HOME/bin:/usr/local/mysql/bin/
|
||||
- export PATH
|
||||
- PATH=$PATH:$HOME/bin:/usr/local/mysql/include/mysql/
|
||||
- export PATH
|
||||
- cp /usr/local/mysql-5.0.67/libmysql/.libs/libmysqlclient.so /usr/lib/
|
||||
- cp /usr/local/mysql-5.0.67/libmysql/.libs/libmysqlclient.so.15 /usr/lib/
|
||||
- cd /usr/local/mysql-5.0.67
|
||||
- scripts/mysql_install_db
|
||||
- chown -R root /usr/local/mysql
|
||||
- chown -R mysql /usr/local/mysql/var
|
||||
- chgrp -R mysql /usr/local/mysql
|
||||
- cp support-files/my-medium.cnf /etc/my.cnf
|
||||
- cp support-files/my-huge.cnf /etc/my.cnf
|
||||
- /usr/local/mysql/bin/mysqld_safe --user=mysql --skip-name-resolve --skip-host-cache &
|
||||
- ln -s /tmp/mysql.sock /var/run/mysql/mysql.sock
|
||||
- vi /etc/my.cnf
|
||||
# add this line below 'skip-locking'
|
||||
skip-name-resolve
|
||||
# comment out the line 'log-bin=mysql-bin'
|
||||
max_connections = 200
|
||||
|
||||
**** For some systems you may need to add the mysql/bin directory to your PATH:
|
||||
- PATH=$PATH:$HOME/bin:/usr/local/mysql/bin/
|
||||
- export PATH
|
||||
**** you may also want to add those two lines to your /root/.bash_profile file
|
||||
**** For Mysql 5 tree only, you also may need to copy the libmysqlclient.so file to libs
|
||||
- cp /usr/local/mysql-5.0.45/libmysql/.libs/libmysqlclient.so /usr/lib/
|
||||
- cp /usr/local/mysql-5.0.45/libmysql/.libs/libmysqlclient.so.15 /usr/lib/
|
||||
- cp /usr/local/mysql-5.0.67/libmysql/.libs/libmysqlclient.so /usr/lib/
|
||||
- cp /usr/local/mysql-5.0.67/libmysql/.libs/libmysqlclient.so.15 /usr/lib/
|
||||
- you are done
|
||||
|
||||
** INSTALLATION NOTE **
|
||||
@@ -464,7 +474,7 @@ following modules first: (say YES if asked to install prerequisites)
|
||||
- install Spreadsheet::ParseExcel
|
||||
- then quit cpan, you are done
|
||||
5. Go to http://asterisk.gnuinter.net/ and download the asterisk-perl module
|
||||
(backup link: http://downloads.vicidial.com/packages/asterisk-perl-0.08.tar.gz)
|
||||
(backup link: http://download.vicidial.com/packages/asterisk-perl-0.08.tar.gz)
|
||||
NOTE: Do NOT use the 0.09 version, it does not work with VICIDIAL
|
||||
- to install this directly on the command line type:
|
||||
- cd /usr/local
|
||||
@@ -654,10 +664,10 @@ updated on your system, so we're going to install a new version now.
|
||||
- make
|
||||
- make install
|
||||
- cd /usr/local
|
||||
- wget http://ftp.openssh.zone-h.org/pub/OpenBSD/OpenSSH/portable/openssh-5.0p1.tar.gz
|
||||
- gunzip openssh-5.0p1.tar.gz
|
||||
- tar xvf openssh-5.0p1.tar
|
||||
- cd openssh-5.0p1
|
||||
- wget http://ftp.arcane-networks.fr/pub/OpenBSD/OpenSSH/portable/openssh-5.2p1.tar.gz
|
||||
- gunzip openssh-5.2p1.tar.gz
|
||||
- tar xvf openssh-5.2p1.tar
|
||||
- cd openssh-5.2p1
|
||||
- ./configure
|
||||
- make
|
||||
- make install
|
||||
@@ -672,10 +682,10 @@ your locally installed copy of Apache web server)
|
||||
9. Go to http://www.openssl.org/ and download the linux source for openssl
|
||||
- to install this directly on the command line type:
|
||||
- cd /usr/local
|
||||
- wget http://www.openssl.org/source/openssl-0.9.8g.tar.gz
|
||||
- gunzip openssl-0.9.8g.tar.gz
|
||||
- tar xvf openssl-0.9.8g.tar
|
||||
- cd openssl-0.9.8g
|
||||
- wget http://www.openssl.org/source/openssl-0.9.8j.tar.gz
|
||||
- gunzip openssl-0.9.8j.tar.gz
|
||||
- tar xvf openssl-0.9.8j.tar
|
||||
- cd openssl-0.9.8j
|
||||
- ./config
|
||||
- make
|
||||
- make install
|
||||
@@ -692,18 +702,17 @@ installation on another machine)
|
||||
Go to http://www.php.net/ and download the php unix source code
|
||||
- to install this directly on the command line type:
|
||||
- cd /usr/local
|
||||
- wget http://mirror.candidhosting.com/pub/apache/httpd/httpd-2.2.8.tar.gz
|
||||
- gunzip httpd-2.2.8.tar.gz
|
||||
- tar xvf httpd-2.2.8.tar
|
||||
- wget http://us2.php.net/distributions/php-5.2.6.tar.gz
|
||||
NOTE: PHP 5.1.1 has also been tested with this release
|
||||
- gunzip php-5.2.6.tar.gz
|
||||
- tar xvf php-5.2.6.tar
|
||||
- cd httpd-2.2.8
|
||||
- wget http://mirror.nyi.net/apache/httpd/httpd-2.2.11.tar.gz
|
||||
- gunzip httpd-2.2.11.tar.gz
|
||||
- tar xvf httpd-2.2.11.tar
|
||||
- wget http://us2.php.net/distributions/php-5.2.9.tar.gz
|
||||
- gunzip php-5.2.9.tar.gz
|
||||
- tar xvf php-5.2.9.tar
|
||||
- cd httpd-2.2.11
|
||||
- ./configure --enable-so --with-apxs2
|
||||
- make
|
||||
- make install
|
||||
- cd ../php-5.2.6
|
||||
- cd ../php-5.2.9
|
||||
- ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
|
||||
- make
|
||||
- make install
|
||||
@@ -760,9 +769,9 @@ installation on another machine)
|
||||
system setups.
|
||||
- Go to http://eaccelerator.net and download the most recent package
|
||||
- cd /usr/local
|
||||
- wget http://bart.eaccelerator.net/source/0.9.5/eaccelerator-0.9.5.zip
|
||||
- unzip eaccelerator-0.9.5.zip
|
||||
- cd eaccelerator-0.9.5
|
||||
- wget http://bart.eaccelerator.net/source/0.9.5/eaccelerator-0.9.5.3.zip
|
||||
- unzip eaccelerator-0.9.5.3.zip
|
||||
- cd eaccelerator-0.9.5.3
|
||||
- export PHP_PREFIX="/usr/local"
|
||||
- $PHP_PREFIX/bin/phpize
|
||||
- ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
|
||||
@@ -822,10 +831,10 @@ this loaded on your system.
|
||||
12. Go to http://subversion.tigris.org to download the most recent source version
|
||||
- to install this directly on the command line type:
|
||||
- cd /usr/local
|
||||
- wget http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz
|
||||
- gunzip subversion-1.3.2.tar.gz
|
||||
- tar xvf subversion-1.3.2.tar
|
||||
- cd subversion-1.3.2
|
||||
- wget http://subversion.tigris.org/downloads/subversion-1.5.2.tar.gz
|
||||
- gunzip subversion-1.5.2.tar.gz
|
||||
- tar xvf subversion-1.5.2.tar
|
||||
- cd subversion-1.5.2
|
||||
- ./configure
|
||||
- make
|
||||
- make install
|
||||
@@ -898,9 +907,9 @@ with the following patch:
|
||||
- mkdir /usr/src/asterisk
|
||||
- cd /usr/src/asterisk
|
||||
A. if you want 1.2 release (reliable with new features):
|
||||
- wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.30.2.tar.gz
|
||||
- wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.27.tar.gz
|
||||
- wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.5.tar.gz
|
||||
- wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.2.30.2.tar.gz
|
||||
- wget http://downloads.digium.com/pub/zaptel/releases/zaptel-1.2.27.tar.gz
|
||||
- wget http://downloads.digium.com/pub/libpri/releases/libpri-1.2.5.tar.gz
|
||||
- gunzip asterisk-1.2.30.2.tar.gz
|
||||
- tar xvf asterisk-1.2.30.2.tar
|
||||
- gunzip zaptel-1.2.27.tar.gz
|
||||
@@ -969,11 +978,11 @@ with the following patch:
|
||||
- File to patch: cli.c
|
||||
|
||||
-(gcc version 4.2) apply the gsm audio codec patch to fix gsm
|
||||
- wget http://downloads.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch
|
||||
- wget http://download.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch
|
||||
- patch -p1 ./codecs/gsm/Makefile 1.2-gsm-gcc4.2.patch
|
||||
|
||||
*OPTIONAL*(1.2.14 thru 1.2.30.2) rewrite of waitforsilence
|
||||
- wget http://downloads.vicidial.com/asterisk-patches/app_waitforsilence.c
|
||||
- wget http://download.vicidial.com/asterisk-patches/app_waitforsilence.c
|
||||
- mv -f app_waitforsilence.c apps/app_waitforsilence.c
|
||||
|
||||
*OPTIONAL* shorter enter and leave sounds for meetme
|
||||
@@ -1015,12 +1024,12 @@ them:
|
||||
- If you have chosen a Sangoma T1/E1 or analog card, you will need to
|
||||
follow their instructions for installation of their driver software
|
||||
LATEST Sangoma Wanpipe drivers:
|
||||
ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-3.2.4.tgz
|
||||
ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-3.3.9.tgz
|
||||
- now your asterisk installation is built and loaded and it's time to
|
||||
configure it.
|
||||
|
||||
NOTES: If you want to install zttool diagnostics you may need the newt package installed:
|
||||
- wget http://downloads.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
- wget http://download.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
- gunzip newt-0.51.6.tar.gz
|
||||
- tar xvf newt-0.51.6.tar
|
||||
- cd newt-0.51.6
|
||||
@@ -1089,6 +1098,11 @@ musiconhold audio files to be converted to native formats like GSM, ULAW and ALA
|
||||
|
||||
PHASE 5: CONFIGURING ASTERISK AND YOUR SIP PHONES
|
||||
|
||||
As of release 2.0.5 it is now possible to configure SIP and IAX phones and
|
||||
carrier trunks without editing conf files, just by using the web administration
|
||||
interface. For more information on this, please read the VICIDIAL Manager
|
||||
Manual available at www.eflo.net
|
||||
|
||||
In this phase we will configure the telco lines, the SIP phones, the extensions,
|
||||
meetme(conference calling) rooms, dialplan extensions and the voicemail boxes.
|
||||
After this phase your Asterisk system should be able to place and receive calls
|
||||
@@ -1178,6 +1192,12 @@ Here's what we used(you can set echocancel=no if you are using PRIs):
|
||||
channel => 25-47
|
||||
|
||||
3. edit sip.conf
|
||||
|
||||
As of release 2.0.5 it is now possible to configure SIP and IAX phones and
|
||||
carrier trunks without editing conf files, just by using the web administration
|
||||
interface. For more information on this, please read the VICIDIAL Manager
|
||||
Manual available at www.eflo.net
|
||||
|
||||
- vi /etc/asterisk/sip.conf
|
||||
here is where we will edit the configuration of our SIP compatible
|
||||
phone devices. As stated at the beginning, we will be setting up a
|
||||
@@ -1248,6 +1268,12 @@ with a pin number required for entry):
|
||||
conf => 8600
|
||||
conf => 8601,1234
|
||||
5. edit iax.conf
|
||||
|
||||
As of release 2.0.5 it is now possible to configure SIP and IAX phones and
|
||||
carrier trunks without editing conf files, just by using the web administration
|
||||
interface. For more information on this, please read the VICIDIAL Manager
|
||||
Manual available at www.eflo.net
|
||||
|
||||
- vi /etc/asterisk/iax.conf
|
||||
This is the IAX configuration file, below is a very simple config for
|
||||
having two Asterisk servers connect natively to each other, if you
|
||||
@@ -1401,6 +1427,11 @@ files, so be warned:
|
||||
messages => notice,warning,error,debug,verbose
|
||||
9. edit extensions.conf
|
||||
- vi /etc/asterisk/extensions.conf
|
||||
|
||||
You should be using the sample extensions.conf that is included with the
|
||||
release of VICIDIAL that you installed, below is just an explanation of what
|
||||
most of those entries do and why they are there.
|
||||
|
||||
This is known as the dialplan. Since we are installing a
|
||||
Long-Distance T1 with one 800 number on it, we will need to put that
|
||||
800 number in the plan, as well as how to dial out through the T1
|
||||
@@ -1653,7 +1684,7 @@ follow the steps below:
|
||||
- http://www.virbiage.com/firefly/download/firefly-thirdparty.exe
|
||||
MIRRORS:
|
||||
- http://mirror.isp.net.au/ftp/pub/firefly/firefly-thirdparty.exe
|
||||
- http://downloads.vicidial.com/softphones/firefly-thirdparty.exe
|
||||
- http://download.vicidial.com/softphones/firefly-thirdparty.exe
|
||||
IDEFISK:
|
||||
- http://www.asteriskguru.com/idefisk/
|
||||
- Install the application
|
||||
@@ -1694,25 +1725,33 @@ SUBPHASE 6.0: putting the files in place
|
||||
There are two methods for downloading astGUIclient/VICIDIAL, a release and SVN
|
||||
|
||||
1. Go to http://astguiclient.sf.net/ and download the latest astguiclient
|
||||
package(as of this writing it is 2.0.4.1)
|
||||
package(as of this writing it is 2.0.5)
|
||||
- for 2.0.X release:
|
||||
- mkdir /usr/src/astguiclient
|
||||
- cd /usr/src/astguiclient
|
||||
- wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.4.1.zip
|
||||
- unzip astguiclient_2.0.4.1.zip
|
||||
- wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.5.zip
|
||||
- unzip astguiclient_2.0.5.zip
|
||||
- perl install.pl (make sure you are in the directory with the install.pl file)
|
||||
- for SVN 2.0 trunk:
|
||||
- for SVN 2.0.5 branch:
|
||||
- mkdir /usr/src/astguiclient
|
||||
- cd /usr/src/astguiclient
|
||||
- svn checkout svn://svn.eflo.net:43690/agc_2-X/branches/agc_2.0.5
|
||||
- cd agc_2.0.5
|
||||
- perl install.pl
|
||||
- for SVN 2.2 trunk:
|
||||
- mkdir /usr/src/astguiclient
|
||||
- cd /usr/src/astguiclient
|
||||
- svn checkout svn://svn.eflo.net:43690/agc_2-X/trunk
|
||||
- cd trunk
|
||||
- perl install.pl
|
||||
select to do interactive setup and customize to your server
|
||||
NOTE: if this is a fresh install, it is strongly suggested that you
|
||||
select 'Y' to copy the sample conf files.
|
||||
- there is one more file you need that's not included with the download
|
||||
package, it's the conf.gsm file(this is the half-hour music file that we use
|
||||
to put people on hold). I have a free classical music file that is available
|
||||
free for download at the following two sites:
|
||||
http://downloads.vicidial.com/sounds/conf.gsm
|
||||
http://download.vicidial.com/sounds/conf.gsm
|
||||
http://astguiclient.sf.net/conf.gsm
|
||||
Once you have downloaded it, you will need to copy it to this folder:
|
||||
/var/lib/asterisk/sounds/
|
||||
@@ -1720,7 +1759,7 @@ free for download at the following two sites:
|
||||
'cp /var/lib/asterisk/sounds/conf.gsm /var/lib/asterisk/sounds/park.gsm'
|
||||
Here are the steps spelled out:
|
||||
cd /var/lib/asterisk/sounds
|
||||
wget http://downloads.vicidial.com/sounds/conf.gsm
|
||||
wget http://download.vicidial.com/sounds/conf.gsm
|
||||
cp conf.gsm park.gsm
|
||||
|
||||
- you are done
|
||||
@@ -1755,7 +1794,7 @@ GRANT RELOAD ON *.* TO cron@localhost;
|
||||
|
||||
flush privileges;
|
||||
|
||||
# NOTE: if using MySQL 4.1.12 or higher you may need to run this query too:
|
||||
# NOTE: if using MySQL 4.1.X or higher(not 5.X) you may need to run this query too:
|
||||
UPDATE mysql.user set password=OLD_PASSWORD('1234') where user='cron';
|
||||
|
||||
# To make sure that new processes can connect to the Database under load we should
|
||||
@@ -1770,74 +1809,22 @@ use asterisk;
|
||||
|
||||
\. /usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql
|
||||
or you may need to run this if you get an error:
|
||||
\. /usr/src/astguiclient/agc_2.0.4/extras/MySQL_AST_CREATE_tables.sql
|
||||
\. /usr/src/astguiclient/agc_2.0.5/extras/MySQL_AST_CREATE_tables.sql
|
||||
\. /usr/src/astguiclient/astguiclient/MySQL_AST_CREATE_tables.sql
|
||||
|
||||
### to load in default IAX and SIP phone accounts run the following query
|
||||
|
||||
\. /usr/src/astguiclient/trunk/extras/sip-iax_phones.sql
|
||||
or you may need to run this if you get an error:
|
||||
\. /usr/src/astguiclient/agc_2.0.4/extras/sip-iax_phones.sql
|
||||
\. /usr/src/astguiclient/agc_2.0.5/extras/sip-iax_phones.sql
|
||||
\. /usr/src/astguiclient/astguiclient/sip-iax_phones.sql
|
||||
|
||||
### to load the initial server values for this first system install
|
||||
|
||||
insert into servers (server_id,server_description,server_ip,active,asterisk_version)values('TESTasterisk','Test install of Asterisk server', '10.10.10.15','Y','1.2.30.2');
|
||||
|
||||
insert into server_updater values('10.10.10.15','');
|
||||
|
||||
insert into phones (extension, dialplan_number, voicemail_id, phone_ip, computer_ip, server_ip, login, pass, status, active, phone_type, fullname, company, picture, messages, old_messages, protocol) values('gs102','102','102','10.10.10.16','10.10.9.16','10.10.10.15','gs102','test', 'ADMIN','Y','Grandstream BT 102','Test Admin Phone','TEST','','0','0','SIP');
|
||||
|
||||
insert into vicidial_users (user,pass,full_name,user_level,user_group,load_leads,campaign_detail,ast_admin_access,modify_users) values('6666','1234','Admin','9','ADMIN','1','1','1','1');
|
||||
|
||||
insert into conferences values('8600001','10.10.10.15','');
|
||||
insert into conferences values('8600002','10.10.10.15','');
|
||||
insert into conferences values('8600003','10.10.10.15','');
|
||||
insert into conferences values('8600004','10.10.10.15','');
|
||||
insert into conferences values('8600005','10.10.10.15','');
|
||||
insert into conferences values('8600006','10.10.10.15','');
|
||||
insert into conferences values('8600007','10.10.10.15','');
|
||||
insert into conferences values('8600008','10.10.10.15','');
|
||||
insert into conferences values('8600009','10.10.10.15','');
|
||||
insert into conferences values('8600010','10.10.10.15','');
|
||||
insert into conferences values('8600011','10.10.10.15','');
|
||||
insert into conferences values('8600012','10.10.10.15','');
|
||||
insert into conferences values('8600013','10.10.10.15','');
|
||||
insert into conferences values('8600014','10.10.10.15','');
|
||||
insert into conferences values('8600015','10.10.10.15','');
|
||||
insert into conferences values('8600016','10.10.10.15','');
|
||||
insert into conferences values('8600017','10.10.10.15','');
|
||||
insert into conferences values('8600018','10.10.10.15','');
|
||||
insert into conferences values('8600019','10.10.10.15','');
|
||||
insert into conferences values('8600020','10.10.10.15','');
|
||||
insert into conferences values('8600021','10.10.10.15','');
|
||||
insert into conferences values('8600022','10.10.10.15','');
|
||||
insert into conferences values('8600023','10.10.10.15','');
|
||||
insert into conferences values('8600024','10.10.10.15','');
|
||||
insert into conferences values('8600025','10.10.10.15','');
|
||||
insert into conferences values('8600026','10.10.10.15','');
|
||||
insert into conferences values('8600027','10.10.10.15','');
|
||||
insert into conferences values('8600028','10.10.10.15','');
|
||||
insert into conferences values('8600029','10.10.10.15','');
|
||||
insert into conferences values('8600030','10.10.10.15','');
|
||||
insert into conferences values('8600031','10.10.10.15','');
|
||||
insert into conferences values('8600032','10.10.10.15','');
|
||||
insert into conferences values('8600033','10.10.10.15','');
|
||||
insert into conferences values('8600034','10.10.10.15','');
|
||||
insert into conferences values('8600035','10.10.10.15','');
|
||||
insert into conferences values('8600036','10.10.10.15','');
|
||||
insert into conferences values('8600037','10.10.10.15','');
|
||||
insert into conferences values('8600038','10.10.10.15','');
|
||||
insert into conferences values('8600039','10.10.10.15','');
|
||||
insert into conferences values('8600040','10.10.10.15','');
|
||||
insert into conferences values('8600041','10.10.10.15','');
|
||||
insert into conferences values('8600042','10.10.10.15','');
|
||||
insert into conferences values('8600043','10.10.10.15','');
|
||||
insert into conferences values('8600044','10.10.10.15','');
|
||||
insert into conferences values('8600045','10.10.10.15','');
|
||||
insert into conferences values('8600046','10.10.10.15','');
|
||||
insert into conferences values('8600047','10.10.10.15','');
|
||||
insert into conferences values('8600048','10.10.10.15','');
|
||||
insert into conferences values('8600049','10.10.10.15','');
|
||||
\. /usr/src/astguiclient/trunk/extras/first_server_install.sql
|
||||
or you may need to run this if you get an error:
|
||||
\. /usr/src/astguiclient/agc_2.0.5/extras/first_server_install.sql
|
||||
\. /usr/src/astguiclient/astguiclient/first_server_install.sql
|
||||
|
||||
quit
|
||||
|
||||
@@ -1847,8 +1834,8 @@ quit
|
||||
to load the performance testing leads run these commands:
|
||||
- cp /usr/src/astguiclient/trunk/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
|
||||
or
|
||||
- cp /usr/src/astguiclient/agc_2.0.4/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
|
||||
- cp /usr/src/astguiclient_2.0.4.1/trunk/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
|
||||
- cp /usr/src/astguiclient/agc_2.0.5/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
|
||||
- cp /usr/src/astguiclient_2.0.5/trunk/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
|
||||
|
||||
- /usr/share/astguiclient/VICIDIAL_IN_new_leads_file.pl --forcelistid=107 --forcephonecode=1
|
||||
|
||||
@@ -1920,6 +1907,10 @@ Now that the database is set up and our phones have entries in the system we can
|
||||
make the additions to the running Asterisk system that will allow astguiclient
|
||||
to work with it.
|
||||
|
||||
Again, if you have selected to use the sample conf files during installation
|
||||
then you do not have to add any of these lines to your conf files, they should
|
||||
already be included.
|
||||
|
||||
1. Add the call_log entries to all incoming/outgoing extensions entries:
|
||||
- here is how our sample dialplan changes for adding call_log entries(only
|
||||
effected extension groups are show):
|
||||
@@ -2593,263 +2584,7 @@ applications
|
||||
We need to add a few initial values to the vicidial tables in the "asterisk"
|
||||
database in order to start setting up the vicidial dialer system for use.
|
||||
|
||||
1. at the command prompt type this to go to the mysql client:
|
||||
/usr/local/mysql/bin/mysql
|
||||
2. type the following into the mysql client prompt:
|
||||
(make sure you put your IP address in place of "10.10.10.15" in the queries below)
|
||||
######------ BEGIN Mysql data entry(you can copy and paste this into terminal) #
|
||||
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600051','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600052','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600053','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600054','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600055','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600056','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600057','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600058','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600059','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600060','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600061','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600062','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600063','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600064','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600065','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600066','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600067','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600068','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600069','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600070','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600071','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600072','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600073','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600074','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600075','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600076','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600077','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600078','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600079','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600080','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600081','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600082','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600083','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600084','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600085','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600086','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600087','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600088','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600089','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600090','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600091','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600092','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600093','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600094','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600095','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600096','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600097','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600098','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600099','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600100','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600101','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600102','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600103','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600104','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600105','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600106','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600107','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600108','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600109','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600110','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600111','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600112','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600113','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600114','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600115','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600116','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600117','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600118','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600119','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600120','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600121','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600122','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600123','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600124','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600125','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600126','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600127','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600128','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600129','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600130','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600131','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600132','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600133','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600134','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600135','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600136','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600137','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600138','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600139','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600140','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600141','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600142','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600143','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600144','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600145','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600146','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600147','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600148','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600149','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600150','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600151','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600152','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600153','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600154','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600155','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600156','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600157','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600158','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600159','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600160','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600161','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600162','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600163','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600164','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600165','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600166','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600167','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600168','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600169','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600170','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600171','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600172','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600173','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600174','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600175','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600176','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600177','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600178','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600179','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600180','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600181','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600182','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600183','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600184','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600185','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600186','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600187','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600188','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600189','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600190','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600191','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600192','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600193','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600194','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600195','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600196','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600197','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600198','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600199','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600200','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600201','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600202','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600203','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600204','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600205','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600206','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600207','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600208','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600209','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600210','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600211','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600212','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600213','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600214','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600215','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600216','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600217','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600218','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600219','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600220','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600221','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600222','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600223','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600224','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600225','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600226','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600227','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600228','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600229','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600230','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600231','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600232','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600233','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600234','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600235','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600236','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600237','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600238','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600239','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600240','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600241','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600242','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600243','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600244','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600245','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600246','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600247','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600248','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600249','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600250','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600251','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600252','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600253','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600254','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600255','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600256','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600257','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600258','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600259','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600260','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600261','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600262','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600263','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600264','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600265','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600266','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600267','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600268','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600269','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600270','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600271','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600272','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600273','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600274','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600275','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600276','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600277','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600278','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600279','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600280','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600281','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600282','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600283','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600284','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600285','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600286','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600287','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600288','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600289','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600290','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600291','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600292','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600293','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600294','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600295','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600296','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600297','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600298','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600299','10.10.10.15');
|
||||
|
||||
######------ END Mysql data entry ------######
|
||||
#### REMOVED, not necessary if you run the first_server_install.sql file above
|
||||
|
||||
|
||||
|
||||
@@ -2942,7 +2677,7 @@ SUBPHASE 6.5: setting up astguiclient scripts for continuous running
|
||||
* * * * * /usr/share/astguiclient/AST_VDhopper.pl -q
|
||||
|
||||
### adjust the GMT offset for the leads in the vicidial_list table
|
||||
1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug --postal-code-gmt
|
||||
1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug
|
||||
|
||||
### reset several temporary-info tables in the database
|
||||
2 1 * * * /usr/share/astguiclient/AST_reset_mysql_vars.pl
|
||||
@@ -3014,54 +2749,8 @@ queries are below:
|
||||
(Note: you may want to replace 7275551212 with a real number to test in these
|
||||
records)
|
||||
|
||||
1. at the command prompt type go to the mysql client:
|
||||
/usr/local/mysql/bin/mysql
|
||||
2. type the following into the mysql client prompt:
|
||||
(make sure you put your IP address in place of "10.10.10.15" in the queries
|
||||
below)
|
||||
######------ BEGIN Mysql data entry(you can copy and paste this into terminal) #
|
||||
#### REMOVED, not necessary if you run the first_server_install.sql file above
|
||||
|
||||
INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead01','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com');
|
||||
INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead02','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com');
|
||||
INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead03','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com');
|
||||
INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead04','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com');
|
||||
INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead05','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com');
|
||||
INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead06','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com');
|
||||
INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead07','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com');
|
||||
|
||||
### these first 5 must be in all VICIDIAL systems for it to work properly #
|
||||
INSERT INTO vicidial_statuses values('NEW','New Lead','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('QUEUE','Lead To Be Called','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('INCALL','Lead Being Called','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('DROP','Agent Not Available','N','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('XDROP','Agent Not Available IN','N','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('NA','No Answer AutoDial','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('CALLBK','Call Back','Y','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('CBHOLD','Call Back Hold','N','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('A','Answering Machine','Y','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('AA','Answering Machine Auto','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('AM','Answering Machine Sent to Mesg','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('AL','Answering Machine Msg Played','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('B','Busy','Y','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('DC','Disconnected Number','Y','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('DEC','Declined Sale','Y','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('DNC','DO NOT CALL','Y','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('DNCL','DO NOT CALL Hopper Match','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('SALE','Sale Made','Y','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('N','No Answer','Y','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('NI','Not Interested','Y','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('NP','No Pitch No Price','Y','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('PU','Call Picked Up','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('PM','Played Message','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('XFER','Call Transferred','Y','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('ERI','Agent Error','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('SVYEXT','Survey sent to Extension','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('SVYVM','Survey sent to Voicemail','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('SVYHU','Survey Hungup','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('SVYREC','Survey sent to Record','N','N','UNDEFINED');
|
||||
|
||||
quit
|
||||
######------ END Mysql data entry ------######
|
||||
|
||||
Now that the sample leads and disposition codes have been entered, we can go
|
||||
into the VICIDIAL administration website and set up our campaigns, lists and users.
|
||||
|
||||
@@ -1531,7 +1531,7 @@ CREATE INDEX phone_number on vicidial_closer_log (phone_number);
|
||||
CREATE INDEX date_user on vicidial_closer_log (call_date,user);
|
||||
CREATE INDEX comment_a on live_inbound_log (comment_a);
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1134';
|
||||
UPDATE system_settings SET db_schema_version='1135';
|
||||
|
||||
GRANT RELOAD ON *.* TO cron@'%';
|
||||
GRANT RELOAD ON *.* TO cron@localhost;
|
||||
|
||||
@@ -788,9 +788,8 @@ ALTER TABLE vicidial_admin_log MODIFY event_type ENUM('ADD','COPY','LOAD','RESET
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1134';
|
||||
|
||||
|
||||
|
||||
|
||||
ALTER TABLE vicidial_campaigns DROP campaign_shift_start_time;
|
||||
ALTER TABLE vicidial_campaigns DROP campaign_shift_length;
|
||||
ALTER TABLE vicidial_campaigns DROP campaign_day_start_time;
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1135';
|
||||
|
||||
@@ -6,6 +6,8 @@ For more brief install instructions read the docs/BASE_INSTALL.txt file
|
||||
|
||||
For Requirements of astGUIclient/VICIDIAL read the docs/REQUIREMENTS.txt file
|
||||
|
||||
For installtion on Ubuntu Linux read the docs/Ubuntu_install.txt
|
||||
|
||||
|
||||
To place the astGUIclient/VICIDIAL files where they belong on the server:
|
||||
run the install.pl script from this directory:
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
################ UPGRADE
|
||||
|
||||
NOTE: Upgrading from 2.0.3 to 2.0.4 is below the first section
|
||||
NOTE: Upgrading from 2.0.2 to 2.0.3 is below the second section
|
||||
NOTE: Upgrading from 2.0.4 to 2.0.5 is below the first section
|
||||
NOTE: Upgrading from 2.0.3 to 2.0.4 is below the second section
|
||||
NOTE: Upgrading from 2.0.2 to 2.0.3 is below the third section
|
||||
NOTE: Upgrading from 2.0.1 to 2.0.2 is in the next section
|
||||
NOTE: Upgrading from 1.1.12-3 to 2.0.1 is at the bottom
|
||||
|
||||
########## UPGRADING FROM 2.0.5 TO 2.2.0 ##########
|
||||
|
||||
Nothing yet, this was just branched
|
||||
|
||||
|
||||
########## UPGRADING FROM 2.0.4 TO 2.0.5 ##########
|
||||
|
||||
1. Note the license change from GPLv2 to AGPLv2. This change was made to close
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Asterisk/astguiclient install from existing server. v.2.0.5 2008-XX-XX
|
||||
Asterisk/astguiclient install from existing server. v.2.2.0 2009-03-15
|
||||
By the VICIDIAL group info@vicidial.com
|
||||
|
||||
|
||||
@@ -31,9 +31,9 @@ PHASE 1: INSTALLING ASTERISK
|
||||
1. follow these command line steps:
|
||||
mkdir /usr/src/asterisk
|
||||
cd /usr/src/asterisk
|
||||
wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.30.2.tar.gz
|
||||
wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.27.tar.gz
|
||||
wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.8.tar.gz
|
||||
wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.2.30.2.tar.gz
|
||||
wget http://downloads.digium.com/pub/zaptel/releases/zaptel-1.2.27.tar.gz
|
||||
wget http://downloads.digium.com/pub/libpri/releases/libpri-1.2.8.tar.gz
|
||||
gunzip asterisk-1.2.30.2.tar.gz
|
||||
tar xvf asterisk-1.2.30.2.tar
|
||||
gunzip zaptel-1.2.27.tar.gz
|
||||
@@ -41,7 +41,7 @@ tar xvf zaptel-1.2.27.tar
|
||||
gunzip libpri-1.2.8.tar.gz
|
||||
tar xvf libpri-1.2.8.tar
|
||||
cd ./zaptel-1.2.27
|
||||
wget http://downloads.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
wget http://download.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
gunzip newt-0.51.6.tar.gz
|
||||
tar xvf newt-0.51.6.tar
|
||||
cd newt-0.51.6
|
||||
@@ -90,11 +90,11 @@ cd ../asterisk-1.2.30.2
|
||||
- File to patch: cli.c
|
||||
|
||||
*OPTIONAL*(1.2.14 thru 1.2.30.2) rewrite of waitforsilence
|
||||
wget http://downloads.vicidial.com/asterisk-patches/app_waitforsilence.c
|
||||
wget http://download.vicidial.com/asterisk-patches/app_waitforsilence.c
|
||||
mv -f app_waitforsilence.c apps/app_waitforsilence.c
|
||||
|
||||
* REQUIRED for gcc 4.2 systems*
|
||||
wget http://downloads.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch
|
||||
wget http://download.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch
|
||||
patch -p1 ./codecs/gsm/Makefile 1.2-gsm-gcc4.2.patch
|
||||
|
||||
*OPTIONAL* shorter enter and leave sounds for meetme
|
||||
@@ -135,12 +135,12 @@ them:
|
||||
- If you have chosen a Sangoma T1/E1 or analog card, you will need to
|
||||
follow their instructions for installation of their driver software
|
||||
LATEST Sangoma Wanpipe drivers:
|
||||
ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-3.2.7.1.tgz
|
||||
ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-3.3.9.tgz
|
||||
- now your asterisk installation is built and loaded and it's time to
|
||||
configure it.
|
||||
|
||||
NOTES: If you want to install zttool diagnostics you may need the newt package installed:
|
||||
http://downloads.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
http://download.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
ln -s /usr/lib/libnewt.so.0.51.6 /usr/lib/libnewt.so.0.51
|
||||
then go to your zaptel folder and do 'make zttool'
|
||||
|
||||
@@ -191,20 +191,20 @@ VICIDIAL components to the system.
|
||||
There are two methods for downloading astGUIclient/VICIDIAL, a release and SVN
|
||||
|
||||
1. Go to http://astguiclient.sf.net/ and download the latest astguiclient
|
||||
package(as of this writing it is 2.0.4.1)
|
||||
package(as of this writing it is 2.0.5)
|
||||
- for 2.0.X release:
|
||||
mkdir /usr/src/astguiclient
|
||||
cd /usr/src/astguiclient
|
||||
wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.4.1.zip
|
||||
unzip astguiclient_2.0.4.1.zip
|
||||
wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.5.zip
|
||||
unzip astguiclient_2.0.5.zip
|
||||
perl install.pl
|
||||
- for SVN 2.0.4 branch:
|
||||
- for SVN 2.0.5 branch:
|
||||
mkdir /usr/src/astguiclient
|
||||
cd /usr/src/astguiclient
|
||||
svn checkout svn://svn.eflo.net:43690/agc_2-X/branches/agc_2.0.4
|
||||
cd agc_2.0.4
|
||||
svn checkout svn://svn.eflo.net:43690/agc_2-X/branches/agc_2.0.5
|
||||
cd agc_2.0.5
|
||||
perl install.pl
|
||||
- for SVN 2.0 trunk:
|
||||
- for SVN 2.2 trunk:
|
||||
mkdir /usr/src/astguiclient
|
||||
cd /usr/src/astguiclient
|
||||
svn checkout svn://svn.eflo.net:43690/agc_2-X/trunk
|
||||
@@ -215,7 +215,7 @@ package(as of this writing it is 2.0.4.1)
|
||||
package, it's the conf.gsm file(this is the half-hour music file that we use
|
||||
to put people on hold). I have a free classical music file that is available
|
||||
free for download at the following two sites:
|
||||
http://downloads.vicidial.com/sounds/conf.gsm
|
||||
http://download.vicidial.com/sounds/conf.gsm
|
||||
http://astguiclient.sf.net/conf.gsm
|
||||
Once you have downloaded it, you will need to copy it to this folder:
|
||||
/var/lib/asterisk/sounds/
|
||||
@@ -223,7 +223,7 @@ free for download at the following two sites:
|
||||
'cp /var/lib/asterisk/sounds/conf.gsm /var/lib/asterisk/sounds/park.gsm'
|
||||
Here are the steps spelled out:
|
||||
cd /var/lib/asterisk/sounds
|
||||
wget http://downloads.vicidial.com/sounds/conf.gsm
|
||||
wget http://download.vicidial.com/sounds/conf.gsm
|
||||
cp conf.gsm park.gsm
|
||||
- you are done
|
||||
|
||||
@@ -294,21 +294,21 @@ use asterisk;
|
||||
|
||||
\. /usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql
|
||||
or you may need to run this if you get an error:
|
||||
\. /usr/src/astguiclient/agc_2.0.5/extras/MySQL_AST_CREATE_tables.sql
|
||||
\. /usr/src/astguiclient/astguiclient/MySQL_AST_CREATE_tables.sql
|
||||
|
||||
### to load in default IAX and SIP phone accounts run the following query
|
||||
|
||||
\. /usr/src/astguiclient/trunk/extras/sip-iax_phones.sql
|
||||
or you may need to run this if you get an error:
|
||||
\. /usr/src/astguiclient/agc_2.0.4/extras/sip-iax_phones.sql
|
||||
\. /usr/src/astguiclient/agc_2.0.5/extras/sip-iax_phones.sql
|
||||
\. /usr/src/astguiclient/astguiclient/sip-iax_phones.sql
|
||||
|
||||
|
||||
### to load the initial server values for this first system install
|
||||
|
||||
\. /usr/src/astguiclient/trunk/extras/first_server_install.sql
|
||||
or you may need to run this if you get an error:
|
||||
\. /usr/src/astguiclient/agc_2.0.4/extras/first_server_install.sql
|
||||
\. /usr/src/astguiclient/agc_2.0.5/extras/first_server_install.sql
|
||||
\. /usr/src/astguiclient/astguiclient/first_server_install.sql
|
||||
|
||||
quit
|
||||
@@ -466,7 +466,7 @@ PHASE 6: ADDING CRONTAB ENTRIES FOR ASTGUICLIENT/VICIDIAL SCRIPTS
|
||||
* * * * * /usr/share/astguiclient/AST_VDhopper.pl -q
|
||||
|
||||
### adjust the GMT offset for the leads in the vicidial_list table
|
||||
1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug --postal-code-gmt
|
||||
1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug
|
||||
|
||||
### reset several temporary-info tables in the database
|
||||
2 1 * * * /usr/share/astguiclient/AST_reset_mysql_vars.pl
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Quick install of required apps v.2.0.5 2008-XX-XX
|
||||
# Quick install of required apps v.2.2.0 2009-03-15
|
||||
# This file is a supplement to the BASE_INSTALL document giving you simple copy/
|
||||
# paste installation shell commands for required and helper apps for VICIDIAL
|
||||
# might need: echo '/* Linuxthreads */' >> /usr/include/pthread.h
|
||||
@@ -152,9 +152,9 @@ cd zlib-1.2.3
|
||||
make
|
||||
make install
|
||||
cd /usr/local
|
||||
wget http://ftp.openssh.zone-h.org/pub/OpenBSD/OpenSSH/portable/openssh-5.1p1.tar.gz
|
||||
gunzip openssh-5.1p1.tar.gz
|
||||
tar xvf openssh-5.1p1.tar
|
||||
wget http://ftp.arcane-networks.fr/pub/OpenBSD/OpenSSH/portable/openssh-5.2p1.tar.gz
|
||||
gunzip openssh-5.2p1.tar.gz
|
||||
tar xvf openssh-5.2p1.tar
|
||||
cd openssh-5.1p1
|
||||
./configure
|
||||
make
|
||||
@@ -162,10 +162,10 @@ make install
|
||||
|
||||
|
||||
cd /usr/local
|
||||
wget http://www.openssl.org/source/openssl-0.9.8i.tar.gz
|
||||
gunzip openssl-0.9.8i.tar.gz
|
||||
tar xvf openssl-0.9.8i.tar
|
||||
cd openssl-0.9.8i
|
||||
wget http://www.openssl.org/source/openssl-0.9.8j.tar.gz
|
||||
gunzip openssl-0.9.8j.tar.gz
|
||||
tar xvf openssl-0.9.8j.tar
|
||||
cd openssl-0.9.8j
|
||||
./config
|
||||
make
|
||||
make install
|
||||
@@ -192,9 +192,9 @@ make install
|
||||
|
||||
|
||||
cd /usr/local
|
||||
wget http://us2.php.net/distributions/php-5.2.8.tar.gz
|
||||
gunzip php-5.2.8.tar.gz
|
||||
tar xvf php-5.2.8.tar
|
||||
wget http://us2.php.net/distributions/php-5.2.9.tar.gz
|
||||
gunzip php-5.2.9.tar.gz
|
||||
tar xvf php-5.2.9.tar
|
||||
wget http://mirror.nyi.net/apache/httpd/httpd-2.2.11.tar.gz
|
||||
gunzip httpd-2.2.11.tar.gz
|
||||
tar xvf httpd-2.2.11.tar
|
||||
@@ -212,7 +212,7 @@ openssl req -new -x509 -days 1200 -keyout /usr/local/apache2/conf/ssl.key/server
|
||||
openssl rsa -in /usr/local/apache2/conf/ssl.key/server.key.cpy -out /usr/local/apache2/conf/ssl.key/server.key
|
||||
|
||||
|
||||
cd ../php-5.2.8
|
||||
cd ../php-5.2.9
|
||||
make clean
|
||||
./configure --with-mysql=/usr/local/mysql --enable-inline-optimization --enable-memory-limit --enable-track-vars --enable-libgcc --enable-sysvsem --with-openssl --with-apxs2=/usr/local/apache2/bin/apxs --with-zlib
|
||||
make
|
||||
@@ -349,7 +349,7 @@ tar xvf zaptel-1.2.27.tar
|
||||
gunzip libpri-1.2.8.tar.gz
|
||||
tar xvf libpri-1.2.8.tar
|
||||
cd ./zaptel-1.2.27
|
||||
wget http://downloads.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
wget http://download.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
gunzip newt-0.51.6.tar.gz
|
||||
tar xvf newt-0.51.6.tar
|
||||
cd newt-0.51.6
|
||||
@@ -403,10 +403,10 @@ patch -p1 < ./cli_chan_concise_delimiter.patch
|
||||
|
||||
- File to patch: cli.c
|
||||
|
||||
wget http://downloads.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch
|
||||
wget http://download.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch
|
||||
patch -p1 ./codecs/gsm/Makefile 1.2-gsm-gcc4.2.patch
|
||||
|
||||
wget http://downloads.vicidial.com/asterisk-patches/app_waitforsilence.c
|
||||
wget http://download.vicidial.com/asterisk-patches/app_waitforsilence.c
|
||||
mv -f app_waitforsilence.c apps/app_waitforsilence.c
|
||||
wget http://www.eflo.net/files/enter.h
|
||||
wget http://www.eflo.net/files/leave.h
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Asterisk/astguiclient install from scratch. v.2.0.5 2008-12-03
|
||||
Asterisk/astguiclient install from scratch. v.2.2.0 2009-03-15
|
||||
By the VICIDIAL group info@vicidial.com
|
||||
|
||||
**** IMPORTANT - In order for vicidial/astguiclient to function correctly please
|
||||
@@ -88,7 +88,7 @@ partitions:
|
||||
- press F3 to exit and let it do it's thing, this will take an hour or so.
|
||||
|
||||
4. Go to http://www.slackware.com/getslack/ to download Slackware linux.
|
||||
The most recent release as of this writing is 12.0. This release fits on 3 CDs
|
||||
The most recent release we recommend is 11.0. This release fits on 3 CDs
|
||||
or 1 DVD. Download both installation disks from any close server listed on the
|
||||
download page and burn them both to CDs.
|
||||
|
||||
@@ -366,35 +366,45 @@ a more loaded system.
|
||||
|
||||
Go to http://www.mysql.com/ and download the mysql package
|
||||
- to install this directly on the command line type:
|
||||
- cd /usr/local
|
||||
- wget http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-4.0/mysql-4.0.27.tar.gz
|
||||
# http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-5.0/mysql-5.0.45.tar.gz
|
||||
- gunzip mysql-4.0.27.tar.gz
|
||||
- tar xvf mysql-4.0.27.tar
|
||||
- cd mysql-4.0.27
|
||||
- cd /usr/local/
|
||||
- wget http://mirror.trouble-free.net/mysql_mirror/Downloads/MySQL-5.0/mysql-5.0.67.tar.gz
|
||||
- gunzip mysql-5.0.67.tar.gz
|
||||
- tar xvf mysql-5.0.67.tar
|
||||
- cd mysql-5.0.67
|
||||
- groupadd mysql
|
||||
- useradd -g mysql mysql
|
||||
- "./configure --prefix=/usr/local/mysql --enable-large-files --enable-shared=yes --with-readline"
|
||||
- ./configure --prefix=/usr/local/mysql --enable-shared=yes --with-readline --enable-thread-safe-client --enable-large-files --enable-assembler --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-big-tables
|
||||
**** If only MySQL client is needed for DBD::mysql then use this:
|
||||
- "./configure --prefix=/usr/local/mysql --without-server --enable-shared=yes --with-readline"
|
||||
**** If using version 5 tree MySQL client then use this:
|
||||
- "./configure --prefix=/usr/local/mysql --without-server --enable-shared=yes --with-readline --enable-thread-safe-client"
|
||||
- make
|
||||
- make install
|
||||
- PATH=$PATH:$HOME/bin:/usr/local/mysql/bin/
|
||||
- export PATH
|
||||
- PATH=$PATH:$HOME/bin:/usr/local/mysql/include/mysql/
|
||||
- export PATH
|
||||
- cp /usr/local/mysql-5.0.67/libmysql/.libs/libmysqlclient.so /usr/lib/
|
||||
- cp /usr/local/mysql-5.0.67/libmysql/.libs/libmysqlclient.so.15 /usr/lib/
|
||||
- cd /usr/local/mysql-5.0.67
|
||||
- scripts/mysql_install_db
|
||||
- chown -R root /usr/local/mysql
|
||||
- chown -R mysql /usr/local/mysql/var
|
||||
- chgrp -R mysql /usr/local/mysql
|
||||
- cp support-files/my-medium.cnf /etc/my.cnf
|
||||
- cp support-files/my-huge.cnf /etc/my.cnf
|
||||
- /usr/local/mysql/bin/mysqld_safe --user=mysql --skip-name-resolve --skip-host-cache &
|
||||
- ln -s /tmp/mysql.sock /var/run/mysql/mysql.sock
|
||||
- vi /etc/my.cnf
|
||||
# add this line below 'skip-locking'
|
||||
skip-name-resolve
|
||||
# comment out the line 'log-bin=mysql-bin'
|
||||
max_connections = 200
|
||||
|
||||
**** For some systems you may need to add the mysql/bin directory to your PATH:
|
||||
- PATH=$PATH:$HOME/bin:/usr/local/mysql/bin/
|
||||
- export PATH
|
||||
**** you may also want to add those two lines to your /root/.bash_profile file
|
||||
**** For Mysql 5 tree only, you also may need to copy the libmysqlclient.so file to libs
|
||||
- cp /usr/local/mysql-5.0.45/libmysql/.libs/libmysqlclient.so /usr/lib/
|
||||
- cp /usr/local/mysql-5.0.45/libmysql/.libs/libmysqlclient.so.15 /usr/lib/
|
||||
- cp /usr/local/mysql-5.0.67/libmysql/.libs/libmysqlclient.so /usr/lib/
|
||||
- cp /usr/local/mysql-5.0.67/libmysql/.libs/libmysqlclient.so.15 /usr/lib/
|
||||
- you are done
|
||||
|
||||
** INSTALLATION NOTE **
|
||||
@@ -464,7 +474,7 @@ following modules first: (say YES if asked to install prerequisites)
|
||||
- install Spreadsheet::ParseExcel
|
||||
- then quit cpan, you are done
|
||||
5. Go to http://asterisk.gnuinter.net/ and download the asterisk-perl module
|
||||
(backup link: http://downloads.vicidial.com/packages/asterisk-perl-0.08.tar.gz)
|
||||
(backup link: http://download.vicidial.com/packages/asterisk-perl-0.08.tar.gz)
|
||||
NOTE: Do NOT use the 0.09 version, it does not work with VICIDIAL
|
||||
- to install this directly on the command line type:
|
||||
- cd /usr/local
|
||||
@@ -654,10 +664,10 @@ updated on your system, so we're going to install a new version now.
|
||||
- make
|
||||
- make install
|
||||
- cd /usr/local
|
||||
- wget http://ftp.openssh.zone-h.org/pub/OpenBSD/OpenSSH/portable/openssh-5.0p1.tar.gz
|
||||
- gunzip openssh-5.0p1.tar.gz
|
||||
- tar xvf openssh-5.0p1.tar
|
||||
- cd openssh-5.0p1
|
||||
- wget http://ftp.arcane-networks.fr/pub/OpenBSD/OpenSSH/portable/openssh-5.2p1.tar.gz
|
||||
- gunzip openssh-5.2p1.tar.gz
|
||||
- tar xvf openssh-5.2p1.tar
|
||||
- cd openssh-5.2p1
|
||||
- ./configure
|
||||
- make
|
||||
- make install
|
||||
@@ -672,10 +682,10 @@ your locally installed copy of Apache web server)
|
||||
9. Go to http://www.openssl.org/ and download the linux source for openssl
|
||||
- to install this directly on the command line type:
|
||||
- cd /usr/local
|
||||
- wget http://www.openssl.org/source/openssl-0.9.8g.tar.gz
|
||||
- gunzip openssl-0.9.8g.tar.gz
|
||||
- tar xvf openssl-0.9.8g.tar
|
||||
- cd openssl-0.9.8g
|
||||
- wget http://www.openssl.org/source/openssl-0.9.8j.tar.gz
|
||||
- gunzip openssl-0.9.8j.tar.gz
|
||||
- tar xvf openssl-0.9.8j.tar
|
||||
- cd openssl-0.9.8j
|
||||
- ./config
|
||||
- make
|
||||
- make install
|
||||
@@ -692,18 +702,17 @@ installation on another machine)
|
||||
Go to http://www.php.net/ and download the php unix source code
|
||||
- to install this directly on the command line type:
|
||||
- cd /usr/local
|
||||
- wget http://mirror.candidhosting.com/pub/apache/httpd/httpd-2.2.8.tar.gz
|
||||
- gunzip httpd-2.2.8.tar.gz
|
||||
- tar xvf httpd-2.2.8.tar
|
||||
- wget http://us2.php.net/distributions/php-5.2.6.tar.gz
|
||||
NOTE: PHP 5.1.1 has also been tested with this release
|
||||
- gunzip php-5.2.6.tar.gz
|
||||
- tar xvf php-5.2.6.tar
|
||||
- cd httpd-2.2.8
|
||||
- wget http://mirror.nyi.net/apache/httpd/httpd-2.2.11.tar.gz
|
||||
- gunzip httpd-2.2.11.tar.gz
|
||||
- tar xvf httpd-2.2.11.tar
|
||||
- wget http://us2.php.net/distributions/php-5.2.9.tar.gz
|
||||
- gunzip php-5.2.9.tar.gz
|
||||
- tar xvf php-5.2.9.tar
|
||||
- cd httpd-2.2.11
|
||||
- ./configure --enable-so --with-apxs2
|
||||
- make
|
||||
- make install
|
||||
- cd ../php-5.2.6
|
||||
- cd ../php-5.2.9
|
||||
- ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
|
||||
- make
|
||||
- make install
|
||||
@@ -760,9 +769,9 @@ installation on another machine)
|
||||
system setups.
|
||||
- Go to http://eaccelerator.net and download the most recent package
|
||||
- cd /usr/local
|
||||
- wget http://bart.eaccelerator.net/source/0.9.5/eaccelerator-0.9.5.zip
|
||||
- unzip eaccelerator-0.9.5.zip
|
||||
- cd eaccelerator-0.9.5
|
||||
- wget http://bart.eaccelerator.net/source/0.9.5/eaccelerator-0.9.5.3.zip
|
||||
- unzip eaccelerator-0.9.5.3.zip
|
||||
- cd eaccelerator-0.9.5.3
|
||||
- export PHP_PREFIX="/usr/local"
|
||||
- $PHP_PREFIX/bin/phpize
|
||||
- ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
|
||||
@@ -822,10 +831,10 @@ this loaded on your system.
|
||||
12. Go to http://subversion.tigris.org to download the most recent source version
|
||||
- to install this directly on the command line type:
|
||||
- cd /usr/local
|
||||
- wget http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz
|
||||
- gunzip subversion-1.3.2.tar.gz
|
||||
- tar xvf subversion-1.3.2.tar
|
||||
- cd subversion-1.3.2
|
||||
- wget http://subversion.tigris.org/downloads/subversion-1.5.2.tar.gz
|
||||
- gunzip subversion-1.5.2.tar.gz
|
||||
- tar xvf subversion-1.5.2.tar
|
||||
- cd subversion-1.5.2
|
||||
- ./configure
|
||||
- make
|
||||
- make install
|
||||
@@ -898,9 +907,9 @@ with the following patch:
|
||||
- mkdir /usr/src/asterisk
|
||||
- cd /usr/src/asterisk
|
||||
A. if you want 1.2 release (reliable with new features):
|
||||
- wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.30.2.tar.gz
|
||||
- wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.27.tar.gz
|
||||
- wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.5.tar.gz
|
||||
- wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.2.30.2.tar.gz
|
||||
- wget http://downloads.digium.com/pub/zaptel/releases/zaptel-1.2.27.tar.gz
|
||||
- wget http://downloads.digium.com/pub/libpri/releases/libpri-1.2.5.tar.gz
|
||||
- gunzip asterisk-1.2.30.2.tar.gz
|
||||
- tar xvf asterisk-1.2.30.2.tar
|
||||
- gunzip zaptel-1.2.27.tar.gz
|
||||
@@ -969,11 +978,11 @@ with the following patch:
|
||||
- File to patch: cli.c
|
||||
|
||||
-(gcc version 4.2) apply the gsm audio codec patch to fix gsm
|
||||
- wget http://downloads.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch
|
||||
- wget http://download.vicidial.com/asterisk-patches/1.2-gsm-gcc4.2.patch
|
||||
- patch -p1 ./codecs/gsm/Makefile 1.2-gsm-gcc4.2.patch
|
||||
|
||||
*OPTIONAL*(1.2.14 thru 1.2.30.2) rewrite of waitforsilence
|
||||
- wget http://downloads.vicidial.com/asterisk-patches/app_waitforsilence.c
|
||||
- wget http://download.vicidial.com/asterisk-patches/app_waitforsilence.c
|
||||
- mv -f app_waitforsilence.c apps/app_waitforsilence.c
|
||||
|
||||
*OPTIONAL* shorter enter and leave sounds for meetme
|
||||
@@ -1015,12 +1024,12 @@ them:
|
||||
- If you have chosen a Sangoma T1/E1 or analog card, you will need to
|
||||
follow their instructions for installation of their driver software
|
||||
LATEST Sangoma Wanpipe drivers:
|
||||
ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-3.2.4.tgz
|
||||
ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-3.3.9.tgz
|
||||
- now your asterisk installation is built and loaded and it's time to
|
||||
configure it.
|
||||
|
||||
NOTES: If you want to install zttool diagnostics you may need the newt package installed:
|
||||
- wget http://downloads.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
- wget http://download.vicidial.com/packages/newt-0.51.6.tar.gz
|
||||
- gunzip newt-0.51.6.tar.gz
|
||||
- tar xvf newt-0.51.6.tar
|
||||
- cd newt-0.51.6
|
||||
@@ -1089,6 +1098,11 @@ musiconhold audio files to be converted to native formats like GSM, ULAW and ALA
|
||||
|
||||
PHASE 5: CONFIGURING ASTERISK AND YOUR SIP PHONES
|
||||
|
||||
As of release 2.0.5 it is now possible to configure SIP and IAX phones and
|
||||
carrier trunks without editing conf files, just by using the web administration
|
||||
interface. For more information on this, please read the VICIDIAL Manager
|
||||
Manual available at www.eflo.net
|
||||
|
||||
In this phase we will configure the telco lines, the SIP phones, the extensions,
|
||||
meetme(conference calling) rooms, dialplan extensions and the voicemail boxes.
|
||||
After this phase your Asterisk system should be able to place and receive calls
|
||||
@@ -1178,6 +1192,12 @@ Here's what we used(you can set echocancel=no if you are using PRIs):
|
||||
channel => 25-47
|
||||
|
||||
3. edit sip.conf
|
||||
|
||||
As of release 2.0.5 it is now possible to configure SIP and IAX phones and
|
||||
carrier trunks without editing conf files, just by using the web administration
|
||||
interface. For more information on this, please read the VICIDIAL Manager
|
||||
Manual available at www.eflo.net
|
||||
|
||||
- vi /etc/asterisk/sip.conf
|
||||
here is where we will edit the configuration of our SIP compatible
|
||||
phone devices. As stated at the beginning, we will be setting up a
|
||||
@@ -1248,6 +1268,12 @@ with a pin number required for entry):
|
||||
conf => 8600
|
||||
conf => 8601,1234
|
||||
5. edit iax.conf
|
||||
|
||||
As of release 2.0.5 it is now possible to configure SIP and IAX phones and
|
||||
carrier trunks without editing conf files, just by using the web administration
|
||||
interface. For more information on this, please read the VICIDIAL Manager
|
||||
Manual available at www.eflo.net
|
||||
|
||||
- vi /etc/asterisk/iax.conf
|
||||
This is the IAX configuration file, below is a very simple config for
|
||||
having two Asterisk servers connect natively to each other, if you
|
||||
@@ -1401,6 +1427,11 @@ files, so be warned:
|
||||
messages => notice,warning,error,debug,verbose
|
||||
9. edit extensions.conf
|
||||
- vi /etc/asterisk/extensions.conf
|
||||
|
||||
You should be using the sample extensions.conf that is included with the
|
||||
release of VICIDIAL that you installed, below is just an explanation of what
|
||||
most of those entries do and why they are there.
|
||||
|
||||
This is known as the dialplan. Since we are installing a
|
||||
Long-Distance T1 with one 800 number on it, we will need to put that
|
||||
800 number in the plan, as well as how to dial out through the T1
|
||||
@@ -1653,7 +1684,7 @@ follow the steps below:
|
||||
- http://www.virbiage.com/firefly/download/firefly-thirdparty.exe
|
||||
MIRRORS:
|
||||
- http://mirror.isp.net.au/ftp/pub/firefly/firefly-thirdparty.exe
|
||||
- http://downloads.vicidial.com/softphones/firefly-thirdparty.exe
|
||||
- http://download.vicidial.com/softphones/firefly-thirdparty.exe
|
||||
IDEFISK:
|
||||
- http://www.asteriskguru.com/idefisk/
|
||||
- Install the application
|
||||
@@ -1694,25 +1725,33 @@ SUBPHASE 6.0: putting the files in place
|
||||
There are two methods for downloading astGUIclient/VICIDIAL, a release and SVN
|
||||
|
||||
1. Go to http://astguiclient.sf.net/ and download the latest astguiclient
|
||||
package(as of this writing it is 2.0.4.1)
|
||||
package(as of this writing it is 2.0.5)
|
||||
- for 2.0.X release:
|
||||
- mkdir /usr/src/astguiclient
|
||||
- cd /usr/src/astguiclient
|
||||
- wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.4.1.zip
|
||||
- unzip astguiclient_2.0.4.1.zip
|
||||
- wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.5.zip
|
||||
- unzip astguiclient_2.0.5.zip
|
||||
- perl install.pl (make sure you are in the directory with the install.pl file)
|
||||
- for SVN 2.0 trunk:
|
||||
- for SVN 2.0.5 branch:
|
||||
- mkdir /usr/src/astguiclient
|
||||
- cd /usr/src/astguiclient
|
||||
- svn checkout svn://svn.eflo.net:43690/agc_2-X/branches/agc_2.0.5
|
||||
- cd agc_2.0.5
|
||||
- perl install.pl
|
||||
- for SVN 2.2 trunk:
|
||||
- mkdir /usr/src/astguiclient
|
||||
- cd /usr/src/astguiclient
|
||||
- svn checkout svn://svn.eflo.net:43690/agc_2-X/trunk
|
||||
- cd trunk
|
||||
- perl install.pl
|
||||
select to do interactive setup and customize to your server
|
||||
NOTE: if this is a fresh install, it is strongly suggested that you
|
||||
select 'Y' to copy the sample conf files.
|
||||
- there is one more file you need that's not included with the download
|
||||
package, it's the conf.gsm file(this is the half-hour music file that we use
|
||||
to put people on hold). I have a free classical music file that is available
|
||||
free for download at the following two sites:
|
||||
http://downloads.vicidial.com/sounds/conf.gsm
|
||||
http://download.vicidial.com/sounds/conf.gsm
|
||||
http://astguiclient.sf.net/conf.gsm
|
||||
Once you have downloaded it, you will need to copy it to this folder:
|
||||
/var/lib/asterisk/sounds/
|
||||
@@ -1720,7 +1759,7 @@ free for download at the following two sites:
|
||||
'cp /var/lib/asterisk/sounds/conf.gsm /var/lib/asterisk/sounds/park.gsm'
|
||||
Here are the steps spelled out:
|
||||
cd /var/lib/asterisk/sounds
|
||||
wget http://downloads.vicidial.com/sounds/conf.gsm
|
||||
wget http://download.vicidial.com/sounds/conf.gsm
|
||||
cp conf.gsm park.gsm
|
||||
|
||||
- you are done
|
||||
@@ -1755,7 +1794,7 @@ GRANT RELOAD ON *.* TO cron@localhost;
|
||||
|
||||
flush privileges;
|
||||
|
||||
# NOTE: if using MySQL 4.1.12 or higher you may need to run this query too:
|
||||
# NOTE: if using MySQL 4.1.X or higher(not 5.X) you may need to run this query too:
|
||||
UPDATE mysql.user set password=OLD_PASSWORD('1234') where user='cron';
|
||||
|
||||
# To make sure that new processes can connect to the Database under load we should
|
||||
@@ -1770,74 +1809,22 @@ use asterisk;
|
||||
|
||||
\. /usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql
|
||||
or you may need to run this if you get an error:
|
||||
\. /usr/src/astguiclient/agc_2.0.4/extras/MySQL_AST_CREATE_tables.sql
|
||||
\. /usr/src/astguiclient/agc_2.0.5/extras/MySQL_AST_CREATE_tables.sql
|
||||
\. /usr/src/astguiclient/astguiclient/MySQL_AST_CREATE_tables.sql
|
||||
|
||||
### to load in default IAX and SIP phone accounts run the following query
|
||||
|
||||
\. /usr/src/astguiclient/trunk/extras/sip-iax_phones.sql
|
||||
or you may need to run this if you get an error:
|
||||
\. /usr/src/astguiclient/agc_2.0.4/extras/sip-iax_phones.sql
|
||||
\. /usr/src/astguiclient/agc_2.0.5/extras/sip-iax_phones.sql
|
||||
\. /usr/src/astguiclient/astguiclient/sip-iax_phones.sql
|
||||
|
||||
### to load the initial server values for this first system install
|
||||
|
||||
insert into servers (server_id,server_description,server_ip,active,asterisk_version)values('TESTasterisk','Test install of Asterisk server', '10.10.10.15','Y','1.2.30.2');
|
||||
|
||||
insert into server_updater values('10.10.10.15','');
|
||||
|
||||
insert into phones (extension, dialplan_number, voicemail_id, phone_ip, computer_ip, server_ip, login, pass, status, active, phone_type, fullname, company, picture, messages, old_messages, protocol) values('gs102','102','102','10.10.10.16','10.10.9.16','10.10.10.15','gs102','test', 'ADMIN','Y','Grandstream BT 102','Test Admin Phone','TEST','','0','0','SIP');
|
||||
|
||||
insert into vicidial_users (user,pass,full_name,user_level,user_group,load_leads,campaign_detail,ast_admin_access,modify_users) values('6666','1234','Admin','9','ADMIN','1','1','1','1');
|
||||
|
||||
insert into conferences values('8600001','10.10.10.15','');
|
||||
insert into conferences values('8600002','10.10.10.15','');
|
||||
insert into conferences values('8600003','10.10.10.15','');
|
||||
insert into conferences values('8600004','10.10.10.15','');
|
||||
insert into conferences values('8600005','10.10.10.15','');
|
||||
insert into conferences values('8600006','10.10.10.15','');
|
||||
insert into conferences values('8600007','10.10.10.15','');
|
||||
insert into conferences values('8600008','10.10.10.15','');
|
||||
insert into conferences values('8600009','10.10.10.15','');
|
||||
insert into conferences values('8600010','10.10.10.15','');
|
||||
insert into conferences values('8600011','10.10.10.15','');
|
||||
insert into conferences values('8600012','10.10.10.15','');
|
||||
insert into conferences values('8600013','10.10.10.15','');
|
||||
insert into conferences values('8600014','10.10.10.15','');
|
||||
insert into conferences values('8600015','10.10.10.15','');
|
||||
insert into conferences values('8600016','10.10.10.15','');
|
||||
insert into conferences values('8600017','10.10.10.15','');
|
||||
insert into conferences values('8600018','10.10.10.15','');
|
||||
insert into conferences values('8600019','10.10.10.15','');
|
||||
insert into conferences values('8600020','10.10.10.15','');
|
||||
insert into conferences values('8600021','10.10.10.15','');
|
||||
insert into conferences values('8600022','10.10.10.15','');
|
||||
insert into conferences values('8600023','10.10.10.15','');
|
||||
insert into conferences values('8600024','10.10.10.15','');
|
||||
insert into conferences values('8600025','10.10.10.15','');
|
||||
insert into conferences values('8600026','10.10.10.15','');
|
||||
insert into conferences values('8600027','10.10.10.15','');
|
||||
insert into conferences values('8600028','10.10.10.15','');
|
||||
insert into conferences values('8600029','10.10.10.15','');
|
||||
insert into conferences values('8600030','10.10.10.15','');
|
||||
insert into conferences values('8600031','10.10.10.15','');
|
||||
insert into conferences values('8600032','10.10.10.15','');
|
||||
insert into conferences values('8600033','10.10.10.15','');
|
||||
insert into conferences values('8600034','10.10.10.15','');
|
||||
insert into conferences values('8600035','10.10.10.15','');
|
||||
insert into conferences values('8600036','10.10.10.15','');
|
||||
insert into conferences values('8600037','10.10.10.15','');
|
||||
insert into conferences values('8600038','10.10.10.15','');
|
||||
insert into conferences values('8600039','10.10.10.15','');
|
||||
insert into conferences values('8600040','10.10.10.15','');
|
||||
insert into conferences values('8600041','10.10.10.15','');
|
||||
insert into conferences values('8600042','10.10.10.15','');
|
||||
insert into conferences values('8600043','10.10.10.15','');
|
||||
insert into conferences values('8600044','10.10.10.15','');
|
||||
insert into conferences values('8600045','10.10.10.15','');
|
||||
insert into conferences values('8600046','10.10.10.15','');
|
||||
insert into conferences values('8600047','10.10.10.15','');
|
||||
insert into conferences values('8600048','10.10.10.15','');
|
||||
insert into conferences values('8600049','10.10.10.15','');
|
||||
\. /usr/src/astguiclient/trunk/extras/first_server_install.sql
|
||||
or you may need to run this if you get an error:
|
||||
\. /usr/src/astguiclient/agc_2.0.5/extras/first_server_install.sql
|
||||
\. /usr/src/astguiclient/astguiclient/first_server_install.sql
|
||||
|
||||
quit
|
||||
|
||||
@@ -1847,8 +1834,8 @@ quit
|
||||
to load the performance testing leads run these commands:
|
||||
- cp /usr/src/astguiclient/trunk/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
|
||||
or
|
||||
- cp /usr/src/astguiclient/agc_2.0.4/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
|
||||
- cp /usr/src/astguiclient_2.0.4.1/trunk/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
|
||||
- cp /usr/src/astguiclient/agc_2.0.5/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
|
||||
- cp /usr/src/astguiclient_2.0.5/trunk/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
|
||||
|
||||
- /usr/share/astguiclient/VICIDIAL_IN_new_leads_file.pl --forcelistid=107 --forcephonecode=1
|
||||
|
||||
@@ -1920,6 +1907,10 @@ Now that the database is set up and our phones have entries in the system we can
|
||||
make the additions to the running Asterisk system that will allow astguiclient
|
||||
to work with it.
|
||||
|
||||
Again, if you have selected to use the sample conf files during installation
|
||||
then you do not have to add any of these lines to your conf files, they should
|
||||
already be included.
|
||||
|
||||
1. Add the call_log entries to all incoming/outgoing extensions entries:
|
||||
- here is how our sample dialplan changes for adding call_log entries(only
|
||||
effected extension groups are show):
|
||||
@@ -2593,263 +2584,7 @@ applications
|
||||
We need to add a few initial values to the vicidial tables in the "asterisk"
|
||||
database in order to start setting up the vicidial dialer system for use.
|
||||
|
||||
1. at the command prompt type this to go to the mysql client:
|
||||
/usr/local/mysql/bin/mysql
|
||||
2. type the following into the mysql client prompt:
|
||||
(make sure you put your IP address in place of "10.10.10.15" in the queries below)
|
||||
######------ BEGIN Mysql data entry(you can copy and paste this into terminal) #
|
||||
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600051','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600052','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600053','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600054','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600055','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600056','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600057','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600058','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600059','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600060','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600061','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600062','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600063','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600064','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600065','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600066','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600067','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600068','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600069','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600070','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600071','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600072','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600073','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600074','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600075','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600076','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600077','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600078','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600079','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600080','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600081','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600082','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600083','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600084','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600085','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600086','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600087','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600088','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600089','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600090','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600091','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600092','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600093','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600094','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600095','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600096','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600097','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600098','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600099','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600100','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600101','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600102','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600103','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600104','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600105','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600106','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600107','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600108','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600109','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600110','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600111','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600112','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600113','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600114','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600115','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600116','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600117','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600118','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600119','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600120','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600121','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600122','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600123','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600124','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600125','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600126','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600127','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600128','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600129','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600130','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600131','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600132','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600133','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600134','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600135','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600136','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600137','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600138','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600139','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600140','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600141','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600142','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600143','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600144','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600145','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600146','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600147','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600148','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600149','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600150','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600151','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600152','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600153','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600154','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600155','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600156','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600157','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600158','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600159','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600160','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600161','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600162','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600163','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600164','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600165','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600166','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600167','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600168','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600169','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600170','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600171','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600172','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600173','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600174','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600175','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600176','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600177','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600178','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600179','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600180','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600181','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600182','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600183','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600184','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600185','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600186','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600187','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600188','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600189','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600190','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600191','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600192','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600193','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600194','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600195','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600196','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600197','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600198','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600199','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600200','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600201','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600202','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600203','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600204','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600205','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600206','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600207','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600208','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600209','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600210','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600211','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600212','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600213','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600214','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600215','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600216','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600217','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600218','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600219','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600220','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600221','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600222','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600223','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600224','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600225','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600226','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600227','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600228','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600229','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600230','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600231','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600232','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600233','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600234','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600235','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600236','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600237','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600238','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600239','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600240','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600241','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600242','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600243','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600244','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600245','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600246','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600247','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600248','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600249','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600250','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600251','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600252','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600253','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600254','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600255','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600256','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600257','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600258','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600259','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600260','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600261','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600262','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600263','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600264','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600265','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600266','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600267','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600268','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600269','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600270','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600271','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600272','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600273','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600274','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600275','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600276','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600277','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600278','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600279','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600280','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600281','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600282','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600283','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600284','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600285','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600286','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600287','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600288','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600289','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600290','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600291','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600292','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600293','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600294','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600295','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600296','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600297','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600298','10.10.10.15');
|
||||
INSERT INTO vicidial_conferences(conf_exten,server_ip) values('8600299','10.10.10.15');
|
||||
|
||||
######------ END Mysql data entry ------######
|
||||
#### REMOVED, not necessary if you run the first_server_install.sql file above
|
||||
|
||||
|
||||
|
||||
@@ -2942,7 +2677,7 @@ SUBPHASE 6.5: setting up astguiclient scripts for continuous running
|
||||
* * * * * /usr/share/astguiclient/AST_VDhopper.pl -q
|
||||
|
||||
### adjust the GMT offset for the leads in the vicidial_list table
|
||||
1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug --postal-code-gmt
|
||||
1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug
|
||||
|
||||
### reset several temporary-info tables in the database
|
||||
2 1 * * * /usr/share/astguiclient/AST_reset_mysql_vars.pl
|
||||
@@ -3014,54 +2749,8 @@ queries are below:
|
||||
(Note: you may want to replace 7275551212 with a real number to test in these
|
||||
records)
|
||||
|
||||
1. at the command prompt type go to the mysql client:
|
||||
/usr/local/mysql/bin/mysql
|
||||
2. type the following into the mysql client prompt:
|
||||
(make sure you put your IP address in place of "10.10.10.15" in the queries
|
||||
below)
|
||||
######------ BEGIN Mysql data entry(you can copy and paste this into terminal) #
|
||||
#### REMOVED, not necessary if you run the first_server_install.sql file above
|
||||
|
||||
INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead01','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com');
|
||||
INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead02','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com');
|
||||
INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead03','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com');
|
||||
INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead04','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com');
|
||||
INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead05','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com');
|
||||
INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead06','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com');
|
||||
INSERT INTO vicidial_list(status,list_id,phone_code,phone_number,first_name,last_name,address1,city,state,postal_code,country_code,gender,email) values('NEW','101','1','7275551212','Matt','lead07','1234 Fake St.','Clearwater','FL','33760','USA','M','test@test.com');
|
||||
|
||||
### these first 5 must be in all VICIDIAL systems for it to work properly #
|
||||
INSERT INTO vicidial_statuses values('NEW','New Lead','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('QUEUE','Lead To Be Called','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('INCALL','Lead Being Called','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('DROP','Agent Not Available','N','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('XDROP','Agent Not Available IN','N','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('NA','No Answer AutoDial','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('CALLBK','Call Back','Y','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('CBHOLD','Call Back Hold','N','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('A','Answering Machine','Y','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('AA','Answering Machine Auto','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('AM','Answering Machine Sent to Mesg','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('AL','Answering Machine Msg Played','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('B','Busy','Y','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('DC','Disconnected Number','Y','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('DEC','Declined Sale','Y','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('DNC','DO NOT CALL','Y','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('DNCL','DO NOT CALL Hopper Match','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('SALE','Sale Made','Y','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('N','No Answer','Y','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('NI','Not Interested','Y','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('NP','No Pitch No Price','Y','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('PU','Call Picked Up','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('PM','Played Message','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('XFER','Call Transferred','Y','Y','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('ERI','Agent Error','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('SVYEXT','Survey sent to Extension','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('SVYVM','Survey sent to Voicemail','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('SVYHU','Survey Hungup','N','N','UNDEFINED');
|
||||
INSERT INTO vicidial_statuses values('SVYREC','Survey sent to Record','N','N','UNDEFINED');
|
||||
|
||||
quit
|
||||
######------ END Mysql data entry ------######
|
||||
|
||||
Now that the sample leads and disposition codes have been entered, we can go
|
||||
into the VICIDIAL administration website and set up our campaigns, lists and users.
|
||||
|
||||
@@ -0,0 +1,355 @@
|
||||
Ubuntu VICIDIAL Install: 2009-01-25
|
||||
|
||||
From a full default install of Ubuntu Server 8.0.4.2:
|
||||
|
||||
Open a terminal on the system
|
||||
$ sudo su
|
||||
$ passwd (set the root user's password)
|
||||
“apt-get install” the following packages:
|
||||
apache2 (web server)
|
||||
apache2-mpm-prefork (multi threaded portion to apache2)
|
||||
build-essential (this is the build tool chain for gcc)
|
||||
iftop (this is a useful tool for looking at the network interface)
|
||||
lame (this is a mp3 encoding tool)
|
||||
libmysqlclient15-dev (library that lets programs connect to mysql)
|
||||
libncurses5-dev
|
||||
libploticus0-dev
|
||||
libsox-fmt-all (encoding and decoding libraries for sox)
|
||||
linux-source (needed if you are going to recompile the linux kernel)
|
||||
linux-headers (needed for compiling zaptel)
|
||||
mpg123 (mp3 playback utility for the commandline)
|
||||
mtop (utility for monitoring mysql)
|
||||
mysql-client-5.0 (command for connecting to mysql)
|
||||
mysql-doc-5.0 (documentation for mysql)
|
||||
mysql-server-5.0 (this will ask for a password you can just press enter a bunch of times)
|
||||
mytop (utility for monitoring mysql)
|
||||
ntp (time synchronization utility)
|
||||
openssh-server (ssh server allows for remote connection)
|
||||
php5 (base php files)
|
||||
php5-cli (php command line interface (allows us to run php -v for eaccelerator))
|
||||
php5-dev (development tools for php5 allows us to compile eaccelerator
|
||||
php5-mysql (allows php5 to connect to a mysql server)
|
||||
phpmyadmin (vicidial uses apache2 as its webserver please select this)
|
||||
ploticus (this is what creates the graphs for the server performance screen)
|
||||
screen (vicidial runs its core scripts in screen so this is REQUIRED)
|
||||
sipsak (tool for sending various information to sip phones)
|
||||
sox (command line encoding and decoding tool)
|
||||
subversion (code versioning tool)
|
||||
subversion-tools
|
||||
unzip
|
||||
|
||||
|
||||
Go to terminal:
|
||||
$ cd /usr/src
|
||||
$ tar -xjf linux-source-*.tar.bz2 (where * is the kernel version)
|
||||
$ cpan
|
||||
(press enter to go through the prompts. If you have a multi cored system you should enter the -j option when specified with n+1 as the value, where n is the number of CPUs you have in your system. Also enter UNINST=1 when asked. until you get to the mirror selection portion)
|
||||
(select 3 mirror sites in your area)
|
||||
> install MD5
|
||||
> install Digest::SHA1
|
||||
> install readline
|
||||
> install Bundle::CPAN (do not change settings)
|
||||
> quit
|
||||
$ cpan (enter through questions until you get to the cpan prompt)
|
||||
> o conf commit (saves the config changes)
|
||||
> force install Scalar::Util
|
||||
> install DBI
|
||||
> force install DBD::mysql
|
||||
> install Net::Server
|
||||
> install Time::HiRes
|
||||
> install Net::Telnet
|
||||
> install Unicode::Map
|
||||
> install Jcode
|
||||
> install OLE::Storage_Lite
|
||||
> install Spreadsheet::WriteExcel
|
||||
> install Proc::ProcessTable
|
||||
> install Spreadsheet::ParseExcel
|
||||
> install Mail::Sendmail
|
||||
> quit
|
||||
|
||||
cd /usr/src
|
||||
wget http://asterisk.gnuinter.net/files/asterisk-perl-0.08.tar.gz
|
||||
tar xzf asterisk-perl-0.08.tar.gz
|
||||
cd asterisk-perl-0.08
|
||||
perl Makefile.PL
|
||||
make all
|
||||
make install
|
||||
|
||||
cd /usr/src
|
||||
wget http://www.daveltd.com/src/util/ttyload/ttyload-0.5.tar.gz
|
||||
tar xzf ttyload-0.5.tar.gz
|
||||
cd ttyload-0.5
|
||||
make
|
||||
make install
|
||||
|
||||
cd /usr/src
|
||||
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.zip
|
||||
unzip eaccelerator-0.9.5.3.zip
|
||||
cd eaccelerator-0.9.5.3
|
||||
phpize
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
cd /etc/php5/conf.d/
|
||||
$ vim eaccelerator.ini
|
||||
> add the following to the eaccelerator.:
|
||||
extension="eaccelerator.so"
|
||||
eaccelerator.shm_size="48"
|
||||
eaccelerator.cache_dir="/tmp/eaccelerator"
|
||||
eaccelerator.enable="1"
|
||||
eaccelerator.optimizer="1"
|
||||
eaccelerator.check_mtime="1"
|
||||
eaccelerator.debug="0"
|
||||
eaccelerator.filter=""
|
||||
eaccelerator.shm_max="0"
|
||||
eaccelerator.shm_ttl="0"
|
||||
eaccelerator.shm_prune_period="0"
|
||||
eaccelerator.shm_only="0"
|
||||
eaccelerator.compress="1"
|
||||
eaccelerator.compress_level="9"
|
||||
mkdir /tmp/eaccelerator
|
||||
chmod 0777 /tmp/eaccelerator
|
||||
php -v
|
||||
|
||||
|
||||
mkdir /usr/src/asterisk
|
||||
cd /usr/src/asterisk
|
||||
|
||||
****FOR 1.2 asterisk run the following
|
||||
wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.30.2.tar.gz
|
||||
wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.27.tar.gz
|
||||
wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.8.tar.gz
|
||||
tar xzf asterisk-1.2.30.2.tar.gz
|
||||
tar xzf zaptel-1.2.27.tar.gz
|
||||
tar xzf libpri-1.2.8.tar.gz
|
||||
cd libpri-1.2.8
|
||||
make clean; make; make install
|
||||
cd ../zaptel-1.2.27
|
||||
make clean; make; make install
|
||||
cd ../asterisk-1.2.30.2
|
||||
cd apps
|
||||
wget http://www.eflo.net/files/app_amd2.c
|
||||
mv app_amd2.c app_amd.c
|
||||
$ vi Makefile
|
||||
replace this line(line 32):
|
||||
app_mixmonitor.so app_stack.so
|
||||
with this line:
|
||||
app_mixmonitor.so app_stack.so app_amd.so
|
||||
wget http://www.eflo.net/files/amd2.conf
|
||||
mkdir /etc/asterisk
|
||||
mv amd2.conf /etc/asterisk/amd.conf
|
||||
wget http://www.eflo.net/files/meetme_DTMF_passthru-1.2.23.patch
|
||||
patch -p1 < ./meetme_DTMF_passthru-1.2.23.patch
|
||||
File to patch: app_meetme.c
|
||||
wget http://www.eflo.net/files/meetme_volume_control_1.2.16.patch
|
||||
patch -p1 < ./meetme_volume_control_1.2.16.patch
|
||||
File to patch: app_meetme.c
|
||||
cd ../
|
||||
wget http://www.eflo.net/files/cli_chan_concise_delimiter.patch
|
||||
patch -p1 < ./cli_chan_concise_delimiter.patch
|
||||
File to patch: cli.c
|
||||
$ wget http://www.eflo.net/files/app_waitforsilence.c
|
||||
$ mv app_waitforsilence.c apps/app_waitforsilence.c
|
||||
$ wget http://www.eflo.net/files/enter.h
|
||||
$ wget http://www.eflo.net/files/leave.h
|
||||
$ mv -f enter.h apps/enter.h
|
||||
$ mv -f leave.h apps/leave.h
|
||||
$ vi codecs/gsm/Makefile
|
||||
add “OPTIMIZE=-O2” to the file before the ifneq section, to fix GSM audio problems
|
||||
$ make clean; make; make installation
|
||||
$ make samples
|
||||
$ modprobe zaptel
|
||||
$ modprobe ztdummy
|
||||
|
||||
****FOR 1.4 asterisk do the following:
|
||||
wget http://downloads.digium.com/pub/asterisk/old-releases/asterisk-1.4.21.2.tar.gz
|
||||
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz
|
||||
wget http://downloads.digium.com/pub/libpri/libpri-1.4.9.tar.gz
|
||||
tar xzf asterisk-1.4.21.2.tar.gz
|
||||
tar xzf zaptel-1.4.12.1.tar.gz
|
||||
tar xzf libpri-1.4.9.tar.gz
|
||||
cd libpri-1.4.9
|
||||
make clean; make; make install
|
||||
cd ../zaptel-1.4.12.1
|
||||
./configure; make clean; make; make install
|
||||
cd ../asterisk-1.4.21.2
|
||||
$ wget http://www.eflo.net/files/enter.h
|
||||
$ wget http://www.eflo.net/files/leave.h
|
||||
$ mv -f enter.h apps/enter.h
|
||||
$ mv -f leave.h apps/leave.h
|
||||
$ vi codecs/gsm/Makefile
|
||||
add “OPTIMIZE=-O2” to the file before the ifneq section, to fix GSM audio problems
|
||||
./configure; make clean; make; make install
|
||||
make samples
|
||||
modprobe zaptel
|
||||
modprobe ztdummy
|
||||
|
||||
$ asterisk -vvvvvvvvvvvvvvvvvvvvvvvvvvvvgc (to see if Asterisk runs)
|
||||
> show version
|
||||
> zap show status
|
||||
> show application meetme
|
||||
> stop now
|
||||
|
||||
|
||||
*** for asterisk 1.2
|
||||
cd /var/lib/asterisk/mohmp3/
|
||||
mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-sunshine.mp3 > /var/lib/asterisk/mohmp3/fpm-sunshine.raw
|
||||
sox -r 44100 -w -s -c 1 fpm-sunshine.raw -r 8000 -c 1 fpm-sunshine.wav
|
||||
sox fpm-sunshine.wav -t gsm -r 8000 -b -c 1 fpm-sunshine.gsm
|
||||
sox fpm-sunshine.wav -t ul -r 8000 -b -c 1 fpm-sunshine.pcm
|
||||
mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-calm-river.mp3 > /var/lib/asterisk/mohmp3/fpm-calm-river.raw
|
||||
sox -r 44100 -w -s -c 1 fpm-calm-river.raw -r 8000 -c 1 fpm-calm-river.wav
|
||||
sox fpm-calm-river.wav -t gsm -r 8000 -b -c 1 fpm-calm-river.gsm
|
||||
sox fpm-calm-river.wav -t ul -r 8000 -b -c 1 fpm-calm-river.pcm
|
||||
mpg123 -s --rate 44100 --mono /var/lib/asterisk/mohmp3/fpm-world-mix.mp3 > /var/lib/asterisk/mohmp3/fpm-world-mix.raw
|
||||
sox -r 44100 -w -s -c 1 fpm-world-mix.raw -r 8000 -c 1 fpm-world-mix.wav
|
||||
sox fpm-world-mix.wav -t gsm -r 8000 -b -c 1 fpm-world-mix.gsm
|
||||
sox fpm-world-mix.wav -t ul -r 8000 -b -c 1 fpm-world-mix.pcm
|
||||
mkdir ../orig-mp3
|
||||
mv -f *.mp3 ../orig-mp3/
|
||||
mkdir ../quiet-mp3
|
||||
cd ../quiet-mp3
|
||||
sox -r 44100 -w -s -c 1 ../mohmp3/fpm-sunshine.raw -r 8000 -c 1 fpm-sunshine.wav vol 0.25
|
||||
sox fpm-sunshine.wav -t gsm -r 8000 -b -c 1 fpm-sunshine.gsm
|
||||
sox fpm-sunshine.wav -t ul -r 8000 -b -c 1 fpm-sunshine.pcm
|
||||
sox -r 44100 -w -s -c 1 ../mohmp3/fpm-calm-river.raw -r 8000 -c 1 fpm-calm-river.wav vol 0.25
|
||||
sox fpm-calm-river.wav -t gsm -r 8000 -b -c 1 fpm-calm-river.gsm
|
||||
sox fpm-calm-river.wav -t ul -r 8000 -b -c 1 fpm-calm-river.pcm
|
||||
sox -r 44100 -w -s -c 1 ../mohmp3/fpm-world-mix.raw -r 8000 -c 1 fpm-world-mix.wav vol 0.25
|
||||
sox fpm-world-mix.wav -t gsm -r 8000 -b -c 1 fpm-world-mix.gsm
|
||||
sox fpm-world-mix.wav -t ul -r 8000 -b -c 1 fpm-world-mix.pcm
|
||||
rm -f ../mohmp3/*.raw
|
||||
|
||||
|
||||
**** for asterisk 1.4
|
||||
cp -a /var/lib/asterisk/moh /var/lib/asterisk/mohmp3/
|
||||
cd /var/lib/asterisk/mohmp3/
|
||||
sox fpm-sunshine.wav -t gsm -r 8000 -b -c 1 fpm-sunshine.gsm
|
||||
sox fpm-sunshine.wav -t ul -r 8000 -b -c 1 fpm-sunshine.pcm
|
||||
sox fpm-calm-river.wav -t gsm -r 8000 -b -c 1 fpm-calm-river.gsm
|
||||
sox fpm-calm-river.wav -t ul -r 8000 -b -c 1 fpm-calm-river.pcm
|
||||
sox -r 44100 -w -s -c 1 fpm-world-mix.raw -r 8000 -c 1 fpm-world-mix.wav
|
||||
sox fpm-world-mix.wav -t gsm -r 8000 -b -c 1 fpm-world-mix.gsm
|
||||
sox fpm-world-mix.wav -t ul -r 8000 -b -c 1 fpm-world-mix.pcm
|
||||
mkdir ../quiet-mp3
|
||||
cd ../quiet-mp3
|
||||
sox ../mohmp3/fpm-sunshine.wav -r 8000 -c 1 fpm-sunshine.wav vol 0.25
|
||||
sox fpm-sunshine.wav -t gsm -r 8000 -b -c 1 fpm-sunshine.gsm
|
||||
sox fpm-sunshine.wav -t ul -r 8000 -b -c 1 fpm-sunshine.pcm
|
||||
sox ../mohmp3/fpm-calm-river.wav -r 8000 -c 1 fpm-calm-river.wav vol 0.25
|
||||
sox fpm-calm-river.wav -t gsm -r 8000 -b -c 1 fpm-calm-river.gsm
|
||||
sox fpm-calm-river.wav -t ul -r 8000 -b -c 1 fpm-calm-river.pcm
|
||||
sox ../mohmp3/fpm-world-mix.wav -r 8000 -c 1 fpm-world-mix.wav vol 0.25
|
||||
sox fpm-world-mix.wav -t gsm -r 8000 -b -c 1 fpm-world-mix.gsm
|
||||
sox fpm-world-mix.wav -t ul -r 8000 -b -c 1 fpm-world-mix.pcm
|
||||
|
||||
**** for SVN 2.0.4 branch:
|
||||
$ mkdir /usr/src/astguiclient
|
||||
$ cd /usr/src/astguiclient
|
||||
$ svn checkout svn://svn.eflo.net:43690/agc_2-X/branches/agc_2.0.4
|
||||
$ cd agc_2.0.4
|
||||
$ perl install.pl
|
||||
|
||||
**** for SVN 2.0 trunk:
|
||||
$ mkdir /usr/src/astguiclient
|
||||
$ cd /usr/src/astguiclient
|
||||
$ svn checkout svn://svn.eflo.net:43690/agc_2-X/trunk
|
||||
$ cd trunk
|
||||
$ perl install.pl
|
||||
|
||||
: manual configuration [y]
|
||||
: press enter until you get to webroot and set that to the following: /var/www
|
||||
: press enter through to the “Sample configuration files” and set that to 'y'
|
||||
: press enter through to the end of the script
|
||||
: add the highlighted lines to the top of your [default] context:
|
||||
$ vi /etc/asterisk/extensions.conf
|
||||
$ cd /var/lib/asterisk/sounds
|
||||
$ wget http://downloads.vicidial.com/sounds/conf.gsm
|
||||
$ cp conf.gsm park.gsm
|
||||
|
||||
$ mysql
|
||||
> CREATE DATABASE `asterisk` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
|
||||
> GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@'%' IDENTIFIED BY '1234';
|
||||
> GRANT SELECT,INSERT,UPDATE,DELETE,LOCK TABLES on asterisk.* TO cron@localhost IDENTIFIED BY '1234';
|
||||
> use asterisk;
|
||||
> \. /usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql
|
||||
> \. /usr/src/astguiclient/trunk/extras/first_server_install.sql
|
||||
> \. /usr/src/astguiclient/trunk/extras/sip-iax_phones.sql
|
||||
> quit
|
||||
$ /usr/share/astguiclient/ADMIN_update_server_ip.pl –old-server_ip=10.10.10.15
|
||||
$ /usr/share/astguiclient/ADMIN_area_code_populate.pl
|
||||
$ cp /usr/src/astguiclient/trunk/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
|
||||
$ /usr/share/astguiclient/VICIDIAL_IN_new_leads_file.pl --forcelistid=107 –forcephonecode=1
|
||||
|
||||
$ crontab -e
|
||||
Add the following lines:
|
||||
### recording mixing/compressing/ftping scripts
|
||||
0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_mix.pl
|
||||
#0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /usr/share/astguiclient/AST_CRON_audio_1_move_VDonly.pl
|
||||
1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * /usr/share/astguiclient/AST_CRON_audio_2_compress.pl –MP3
|
||||
#2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59 * * * * /usr/share/astguiclient/AST_CRON_audio_3_ftp.pl --MP3
|
||||
### keepalive script for astguiclient processes
|
||||
* * * * * /usr/share/astguiclient/ADMIN_keepalive_ALL.pl
|
||||
### kill Hangup script for Asterisk updaters
|
||||
* * * * * /usr/share/astguiclient/AST_manager_kill_hung_congested.pl
|
||||
|
||||
### updater for voicemail
|
||||
* * * * * /usr/share/astguiclient/AST_vm_update.pl
|
||||
### updater for conference validator
|
||||
* * * * * /usr/share/astguiclient/AST_conf_update.pl
|
||||
### flush queue DB table every hour for entries older than 1 hour
|
||||
11 * * * * /usr/share/astguiclient/AST_flush_DBqueue.pl -q
|
||||
### fix the vicidial_agent_log once every hour
|
||||
33 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl
|
||||
### updater for VICIDIAL hopper
|
||||
* * * * * /usr/share/astguiclient/AST_VDhopper.pl -q
|
||||
### adjust the GMT offset for the leads in the vicidial_list table
|
||||
1 1,7 * * * /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl --debug --postal-code-gmt
|
||||
### reset several temporary-info tables in the database
|
||||
2 1 * * * /usr/share/astguiclient/AST_reset_mysql_vars.pl
|
||||
### optimize the database tables within the asterisk database
|
||||
3 1 * * * /usr/share/astguiclient/AST_DB_optimize.pl
|
||||
## adjust time on the server with ntp
|
||||
30 * * * * /usr/local/bin/ntpdate -u pool.ntp.org 2>/dev/null 1>&2
|
||||
### VICIDIAL agent time log weekly summary report generation
|
||||
2 0 * * 0 /usr/share/astguiclient/AST_agent_week.pl
|
||||
### remove old recordings more than 7 days old
|
||||
# 24 0 * * * /usr/bin/find /var/spool/asterisk/monitor -maxdepth 2 -type f -mtime +7 -print | xargs rm -f
|
||||
### remove old vicidial logs and asterisk logs more than 2 days old
|
||||
28 0 * * * /usr/bin/find /var/log/astguiclient -maxdepth 1 -type f -mtime +2 -print | xargs rm -f
|
||||
29 0 * * * /usr/bin/find /var/log/asterisk -maxdepth 3 -type f -mtime +2 -print | xargs rm -f
|
||||
|
||||
|
||||
cd /etc/init.d/
|
||||
cp /usr/src/astguiclient/trunk/extras/init.d/vicidial ./
|
||||
chmod 0755 vicidial
|
||||
cd /usr/bin
|
||||
ln -s /bin/grep grep
|
||||
cd ../rc2.d
|
||||
ln -s ../init.d/vicidial S35vicidial
|
||||
|
||||
$ vim /etc/apache2/sites-available/default (add the following lines)
|
||||
Alias /RECORDINGS/ "/var/spool/asterisk/monitorDONE/"
|
||||
<Directory "/var/spool/asterisk/monitorDONE">
|
||||
Options Indexes MultiViews
|
||||
AllowOverride None
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
<files *.mp3>
|
||||
Forcetype application/forcedownload
|
||||
</files>
|
||||
</Directory>
|
||||
$ chmod 0777 /var/spool/asterisk/monitorDONE/
|
||||
$ /etc/init.d/apache2 restart
|
||||
|
||||
$ vi /etc/fstab (add the following line to the end of the file)
|
||||
tmpfs /var/spool/asterisk/monitor tmpfs rw 0 0
|
||||
|
||||
|
||||
|
||||
$ shutdown -r 0
|
||||
$ screen -ls (should show at least 6 screens, one of which should be asterisk)
|
||||
|
||||
|
||||
In a web browser, go to (http://YOUR_SERVER_IP_ADDRESS/vicidial/admin.php) to see if everything is working. You should also reboot at this point to make sure everything will start back up properly.
|
||||
From here on you should follow the tutorials in the VICIDIAL Manager Manual(available at eflo.net)
|
||||
@@ -1456,7 +1456,7 @@ INSERT INTO vicidial_inbound_groups(group_id,group_name,group_color,active,queue
|
||||
INSERT INTO vicidial_lists SET list_id='999',list_name='Default inbound list',campaign_id='TESTCAMP',active='N';
|
||||
INSERT INTO vicidial_lists SET list_id='998',list_name='Default Manual list',campaign_id='TESTCAMP',active='N';
|
||||
|
||||
INSERT INTO system_settings (version,install_date) values('2.0.5b0.5', CURDATE());
|
||||
INSERT INTO system_settings (version,install_date) values('2.2.0b0.5', CURDATE());
|
||||
|
||||
INSERT INTO vicidial_status_categories (vsc_id,vsc_name) values('UNDEFINED','Default Category');
|
||||
|
||||
@@ -1531,7 +1531,7 @@ CREATE INDEX phone_number on vicidial_closer_log (phone_number);
|
||||
CREATE INDEX date_user on vicidial_closer_log (call_date,user);
|
||||
CREATE INDEX comment_a on live_inbound_log (comment_a);
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1134';
|
||||
UPDATE system_settings SET db_schema_version='1135';
|
||||
|
||||
GRANT RELOAD ON *.* TO cron@'%';
|
||||
GRANT RELOAD ON *.* TO cron@localhost;
|
||||
|
||||
@@ -788,9 +788,8 @@ ALTER TABLE vicidial_admin_log MODIFY event_type ENUM('ADD','COPY','LOAD','RESET
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1134';
|
||||
|
||||
|
||||
|
||||
|
||||
ALTER TABLE vicidial_campaigns DROP campaign_shift_start_time;
|
||||
ALTER TABLE vicidial_campaigns DROP campaign_shift_length;
|
||||
ALTER TABLE vicidial_campaigns DROP campaign_day_start_time;
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1135';
|
||||
|
||||
@@ -1 +1 @@
|
||||
2.0.5b0.5
|
||||
2.2.0b0.5
|
||||
|
||||
@@ -222,10 +222,11 @@
|
||||
# 90304-1333 - Added user-specific web vars option
|
||||
# 90305-0917 - Added prefix-choice and group-alias options for calls coming from API
|
||||
# 90307-1736 - Added Shift enforcement and manager override features
|
||||
# 90315-1009 - Changed revision for new trunk 2.2.0
|
||||
#
|
||||
|
||||
$version = '2.0.5-201';
|
||||
$build = '90307-1736';
|
||||
$version = '2.2.0-201';
|
||||
$build = '90315-1009';
|
||||
$mel=1; # Mysql Error Log enabled = 1
|
||||
$mysql_log_count=60;
|
||||
$one_mysql_log=0;
|
||||
|
||||
@@ -1644,11 +1644,12 @@ $dialplan_entry = ereg_replace(";","",$dialplan_entry);
|
||||
# 90308-0956 - Added server statistics
|
||||
# 90309-0059 - Changed logging to admin_server_log
|
||||
# 90310-2203 - Added export_reports option for call activity report data exports
|
||||
# 90315-1010 - Changed revision for new trunk 2.2.0
|
||||
#
|
||||
# make sure you have added a user to the vicidial_users MySQL table with at least user_level 8 to access this page the first time
|
||||
|
||||
$admin_version = '2.0.5-172';
|
||||
$build = '90310-2203';
|
||||
$admin_version = '2.2.0-172';
|
||||
$build = '90315-1010';
|
||||
|
||||
$STARTtime = date("U");
|
||||
$SQLdate = date("Y-m-d H:i:s");
|
||||
|
||||
Reference in New Issue
Block a user