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:
mattf
2009-03-15 15:14:39 +00:00
parent 295941e007
commit d3409057ed
42 changed files with 673 additions and 2477 deletions
@@ -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);
+2
View 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';
+2
View 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:
+8 -2
View File
@@ -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
+22 -22
View File
@@ -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
+15 -15
View File
@@ -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
+109 -420
View File
@@ -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.
+355
View File
@@ -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;
+2 -3
View File
@@ -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
View File
@@ -1 +1 @@
2.0.5b0.5
2.2.0b0.5
+3 -2
View File
@@ -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;
+3 -2
View File
@@ -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");