2006-06-08 snapshot

git-svn-id: svn://192.168.202.10@8 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2006-07-07 15:25:20 +00:00
parent 3deb82a4b3
commit 7b2622b826
129 changed files with 3248 additions and 109 deletions
+69
View File
@@ -0,0 +1,69 @@
VICIDIAL and app_conference
(1.2 tree) EXPERIMENTAL!!!
app_conference offers the plusses of being able to do conferencing
without any zaptel hardware or timers as well as doing native codec
streaming, meaning no manditory downsampling to slin like meetme.
These two features alone mean a rather significant performance boost
to companies who only use VOIP for agents and trunks as well as not
requiring the cost of zaptel hardware or the nightmare of getting
ztdummy to work on some systems.
As of right now, I have a test system fully up and running using
app_conference with VICIDIAL on Asterisk 1.2.8. I have made several
modifications to the app_conference code to make it more of a drop-in
replacement for meetme so that it does not require any changes to the
VICIDIAL codebase. I have added entry and exit sounds(slightly
different from meetme's) as well as "only one in this conference"
message in addition to changing the default member type to speaker(S).
So far I have tested with IAX and SIP channels only and everything
works just like on meetme but I have not done any capacity testing or
tested it in production yet.
If you want to use app_conference instead of meetme for VICIDIAL then follow these instructions:
cd /usr/src/asterisk
wget http://www.eflo.net/files/VD_app_conference_0.5.zip
unzip VD_app_conference_0.5.zip
cd app_conference
make clean
make
make install
In your extensions.conf file you would replace these lines:
exten => 8600051,1,Meetme,8600051
exten => 8600052,1,Meetme,8600052
...
exten => 78600051,1,Meetme,8600051|q
exten => 78600052,1,Meetme,8600052|q
...
exten => 68600051,1,Meetme,8600051|mq
exten => 68600052,1,Meetme,8600052|mq
...
with these lines:
exten => 8600051,1,Conference(8600051)
exten => 8600052,1,Conference(8600052)
...
exten => 78600051,1,Conference(8600051|q)
exten => 78600052,1,Conference(8600052|q)
...
exten => 68600051,1,Conference(8600051|Lq)
exten => 68600052,1,Conference(8600052|Lq)
NOTES:
Here are the possible feature flags for this version of app_conference:
o M: Moderator (presently same as speaker) [default]
o S: Speaker
o L: Listener
o T: "Telephone caller" (just for stats?).
o V: Do VAD on this caller
o D: Use Denoise filter on this caller.
o d: Send manager events when DTMF is received.
o q: Do not play enter or exit sounds.
o i: use inband dtmf broadcast.
o t: use rfc dtmf signal broadcast.
+59 -18
View File
@@ -381,7 +381,7 @@ the time is the same on our client computers and our servers.
5. Go to http://www.ntp.org/ and download the ntpd package
- to install this directly on the command line type:
- cd /usr/local
- wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/snapshots/ntp-stable/2006/02/ntp-stable-4.2.0a-20060224.tar.gz
- wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-stable-4.2.0a-20060224.tar.gz
If you get compilation errors here try 4.1.2:
- wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.1.2.tar.gz
- gunzip ntp-stable-4.2.0a-20060224.tar.gz
@@ -653,10 +653,10 @@ PHASE 4: INSTALLING ASTERISK
OK, all the prep work is done, now it's time to start having fun with Asterisk.
There are four basic ways to install Asterisk, an official release(at the time of
this writing the official releases are 1.2.6 and 1.0.10), the CVS_v1-0 branch(1.0
this writing the official release is 1.2.8), the CVS_v1-0 branch(1.0
with bug fixes not yet packaged and released) and the SVN_DEV version(development
branch). Because there are bugs that affect astGUIclient in releases 1.0.8 and
1.0.9, we recommend using Asterisk 1.2.6 or 1.0.10. These instructions are how we
1.0.9, we recommend using Asterisk 1.2.8 or 1.0.10. These instructions are how we
get our Asterisk system with it's T1 line installed with our 2 SIP VOIP devices
and one IAX2 softphone.
@@ -671,15 +671,15 @@ 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/old-releases/asterisk-1.2.6.tar.gz
- wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.5.tar.gz
- wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.2.tar.gz
- gunzip asterisk-1.2.6.tar.gz
- tar xvf asterisk-1.2.6.tar
- gunzip zaptel-1.2.5.tar.gz
- tar xvf zaptel-1.2.5.tar
- gunzip libpri-1.2.2.tar.gz
- tar xvf libpri-1.2.2.tar
- wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.8.tar.gz
- wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.6.tar.gz
- wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.3.tar.gz
- gunzip asterisk-1.2.8.tar.gz
- tar xvf asterisk-1.2.8.tar
- gunzip zaptel-1.2.6.tar.gz
- tar xvf zaptel-1.2.6.tar
- gunzip libpri-1.2.3.tar.gz
- tar xvf libpri-1.2.3.tar
B. If you want latest 1.0 tree stable release:
- wget http://ftp.digium.com/pub/asterisk/old-releases/asterisk-1.0.10.tar.gz
- wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.0.10.tar.gz
@@ -712,39 +712,49 @@ with the following patch:
edit this line at the top and just add a hash # in front of it as shown:
#PBX_LIBS+=$(shell $(CROSS_COMPILE_BIN)gtk-config --cflags >/dev/null 2>/dev/null && echo "pbx_gtkconsole.so")
- cd ./zaptel-1.2.5
- cd ./zaptel-1.2.6
- make clean
- make
- make install
- cd ../libpri-1.2.2
- cd ../libpri-1.2.3
- make clean
- make
- make install
- cd ../asterisk-1.2.6
- cd ../asterisk-1.2.8
- (1.2 tree) If you want to include Answering Machine Detection ability
you will need to download app_amd.c and amd.conf and alter the
apps/Makefile to compile it properly
- cd apps
- wget http://www.freedomphones.net/files/app_amd2.c
- 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.freedomphones.net/files/amd2.conf
- wget http://www.eflo.net/files/amd2.conf
- mkdir /etc/asterisk
- mv amd2.conf /etc/asterisk/amd.conf
- cd ../
-(1.2 tree) apply the cli delimiter patch
- wget http://www.freedomphones.net/files/cli_chan_concise_delimiter.patch
- wget http://www.eflo.net/files/cli_chan_concise_delimiter.patch
- patch -p1 < ./cli_chan_concise_delimiter.patch
- File to patch: cli.c
- make clean
- make
- make install
- make samples # this makes sample conf files
- (1.2 tree) EXPERIMENTAL!!! If you want to use app_conference
instead of meetme for VICIDIAL then follow these instructions
- cd /usr/src/asterisk
- wget http://www.eflo.net/files/VD_app_conference_0.5.zip
- unzip VD_app_conference_0.5.zip
- cd app_conference
- make clean
- make
- make install
- modprobe zaptel # this loads the zaptel module
- install the module for the digium device that you are using, we are
using the T100P single span T1 card so we use:
@@ -1822,6 +1832,7 @@ exten => 8600029,1,Meetme,8600029|q
6. Add the conference entries for VICIDIAL conferences:
- here is how our sample dialplan changes for adding VICIDIAL conference
entries(this is a pure addition, nothing is being modified):
NOTE: see below these entries for app_conference instructions is used
######------ START extensions.conf changes for VD conf ------######
exten => 8600051,1,Meetme,8600051
exten => 8600052,1,Meetme,8600052
@@ -1977,6 +1988,33 @@ exten => 68600099,1,Meetme,8600099|mq
exten => 68600100,1,Meetme,8600100|mq
######------ END extensions.conf changes for VD conf ------######
NOTE: If you want to use app_conference instead of meetme and you already have
it installed, you will need to do the following:
In your extensions.conf file you would replace these lines:
exten => 8600051,1,Meetme,8600051
exten => 8600052,1,Meetme,8600052
...
exten => 78600051,1,Meetme,8600051|q
exten => 78600052,1,Meetme,8600052|q
...
exten => 68600051,1,Meetme,8600051|mq
exten => 68600052,1,Meetme,8600052|mq
...
with these lines:
exten => 8600051,1,Conference(8600051)
exten => 8600052,1,Conference(8600052)
...
exten => 78600051,1,Conference(8600051|q)
exten => 78600052,1,Conference(8600052|q)
...
exten => 68600051,1,Conference(8600051|Lq)
exten => 68600052,1,Conference(8600052|Lq)
NOTE: If you want to do DTMF passthru with app_conference bee sure to add the
"i" and "t" flags to the 8600XX lines: Conference(8600051|it)
7. Add the more entries for astGUIclient specific uses:
- here are some more dialplan additions needed to use astGUIclient(this is a
@@ -2274,6 +2312,9 @@ AST_CRON_mix_recordings_BASIC.pl file in it's place)
## adjust time on the server with ntp
30 * * * * /usr/local/bin/ntpdate -u 18.145.0.30 2>/dev/null 1>&2
### VICIDIAL agent time log weekly summary report generation
2 0 * * 0 /home/cron/AST_agent_week.pl
- once your system starts up you can attach to the screen running asterisk by
typing "screen -r <screen>" find which screen by typing "screen -r" and
looking for the lowest screen number. Then to detach again from the screen
+12 -1
View File
@@ -62,7 +62,18 @@
- DONE Add number of leads in hopper, link to admin.php campaign modify screen(and link from admin to this screen) and hopper and leads stats as well as drops and drop percentage to the AST_timeonVDADall page.
- DONE Convert the AST_VDhopper.pl script to DBD::MySQL perl library in place of Net::MySQL. DBD::MySQL is faster because it uses the MySQL client libs on the machine. One problem is that you need the mysqlclientlibs installed on every Asterisk server and the default installation of only the MySQL client libs will result in having to do a force install of cpan DBD::MySQL(because it tries to test with the local DB). Not to mention all of the code changes that would need to be made. There are also MySQL client licensing issues for certain installation circumstances(Net::MySQL doesn't use mysql client libs so it doesn't have those issues) but I really don't want to get into that discussion. The reason for this change is that Net::MySQL is limiting in the capacity of the queries that you can use because of how it's connection to MySQL is used. DBI doesn't have those issues and is much better supported. This is the first script to be converted to DBI, you can find the Net version in the main directory and the DBI version in the new DBI-scripts directory.
- DONE Convert the AST_VDhopper.pl script to DBD::MySQL perl library in place of Net::MySQL. DBD::MySQL is faster because it uses the MySQL client libs on the machine. One problem is that you need the mysqlclientlibs installed on every Asterisk server and the default installation of only the MySQL client libs will result in having to do a force install of cpan DBD::MySQL(because it tries to test with the local DB). Not to mention all of the code changes that would need to be made. There are also MySQL client licensing issues for certain installation circumstances(Net::MySQL doesn't use mysql client libs so it doesn't have those issues) but I really don't want to get into that discussion. The reason for this change is that Net::MySQL is limiting in the capacity of the queries that you can use because of how it's connection to MySQL is used. DBI doesn't have those issues and is much better supported. This is the first script to be converted to DBI, you can find the Net::MySQL version in the main directory and the DBI(DBD::mysql) version in the new DBI-scripts directory.
- DONE Test and package app_conference for beta usage with VICIDIAL as a meetme replacement. This has many performance benefits including not having to use a zaptel timer. Packaged and released on the project site. Tested in medium to low capacity VICIDIAL server, some random infrequent bugs. In contact with app_conference developers working on stabilizing code. Added instructions to SCRATCH_INSTALL on how to get app_conferenc working with VICIDIAL.
- DONE Add a link from the campaign-based reports pages to go back to the campaign screen.
- DONE Create a script to grab the login time stats from vicidial_agent_log and create a day-by-day timesheet log each week AST_agent_week.pl script. Add script to the cron instructions in SCRATCH_INSTALL doc.
- DONE Fix issues with ast_VDauto_dial script when you have two CLOSER campaigns in Blended mode dialing at the same time. To fix this we need to change many things in how the CLOSER campaigns work. We need to add a new field to the vicidial_auto_calls table to denote whether the call is from inbound or outbound(call_type ENUM('IN','OUT') default 'OUT'). For each CLOSER campaign, a special field needs to be added to vicidial_campaigns for allowable inbound groups. This will change what in-groups an agent logging into the campaign can select from as well as changing how the auto_dial script calculates how many calls to place on CLOSER campaigns in blended mode. the vicidial.php script needs to be changed as well as several changes in the admin.php script. The AST_VDauto_dial.pl script needs to be changed as well as all of the agi-VDAD....closer.agi scripts.
- DONE Fix active calls stats for multiple CLOSER campaigns in Realtime Campaign screen.