created BASE_INSTALL.txt for more simplified installation instructions

created many x.conf.sample files in conf_examples directory

git-svn-id: svn://192.168.202.10@232 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2006-08-29 19:15:17 +00:00
parent 790ca64624
commit 7f4f0d0293
14 changed files with 1560 additions and 32 deletions
+651
View File
@@ -0,0 +1,651 @@
Asterisk/astguiclient install from existing server. v.2.0.1 2006-09-XX
By the astGUIclient group astguiclient@eflo.net
This document is meant to be more of an overview of a VICIDIAL/astGUIclient
installation. If you are looking for more detail or are having problems with
installation please read the SCRATCH_INSTALL.txt document.
REQUIREMENTS:
- root access on the server you want to install asGUIclient/VICIDIAL on to.
- Zap trunks(T1/E1 or PSTN lines), IAX2 trunks or SIP trunks required
- You must have a zaptel timer like a PSTN/T1/E1 card or ztdummy
or you can use the experimental app_conference module
- Client phones can be SIP/IAX/Zap
- SoX 12.17.5 or greater must be installed
- GNU screen 3.9.15 or greater must be installed
- ntp must be installed and syncd to same time source as any other servers
- Perl5 with several CPAN modules(Time::HiRes, DBD::mysql, Net::Telnet, etc)
- MySQL server or mysqlclientlibs, must be version 4.0.X or higher
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.11.tar.gz
wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.8.tar.gz
wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.3.tar.gz
gunzip asterisk-1.2.11.tar.gz
tar xvf asterisk-1.2.11.tar
gunzip zaptel-1.2.8.tar.gz
tar xvf zaptel-1.2.8.tar
gunzip libpri-1.2.3.tar.gz
tar xvf libpri-1.2.3.tar
cd ./zaptel-1.2.8
make clean
make
make install
cd ../libpri-1.2.3
make clean
make
make install
cd ../asterisk-1.2.11
(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.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
cd ../
1.2 tree) apply the cli 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.6.zip
unzip VD_app_conference_0.6.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:
modprobe wct1xxp
Here's the list of all digium cards and the modules you use with
them:
Card Module
-----------------
TDM400P wctdm
X100P wcfxo
TDM* wcfxs
S100U wcusb
T100P wct1xxp
E100P wct1xxp
T400P tor2
E400P tor2
TE110P wcte11xp
TE410P wct4xxp
TE405P wct4xxp
TE411P wct4xxp
TE406P wct4xxp
TE210P wct2xxp
TE205P wct2xxp
TDM2400P wctdm24xxp
- 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-beta4-2.3.4.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://www.freedomphones.net/files/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'
Digium/Clone X100P EXAMPLE for reliable cheap hardware timer:
./conf_examples/zaptel.conf.x100p.sample
./conf_examples/zapata.conf.x100p.sample
Digium/Clone T100P EXAMPLE, also works for TE4xxp cards
./conf_examples/zaptel.conf.t100p.sample
./conf_examples/zapata.conf.t100p.sample
PHASE 2: CONFIGURING ASTERISK
Sample conf files for a system with:
- astGUIclient and VICIDIAL
- two SIP phones
- one IAX phone
- a SIP trunk
- an IAX trunk
- a set of Zap phones through a channelbank
- a Zap T1 PRI line with 23 voice channels
These are available in these sample conf files:
./conf_examples/sip.conf.sample
./conf_examples/iax.conf.sample
./conf_examples/extensions.conf.sample
./conf_examples/meetme.conf.sample
./conf_examples/voicemail.conf.sample
./conf_examples/manager.conf.sample
./conf_examples/logger.conf.sample
For more information on configuring Asterisk or your phones read the
SCRATCH_INSTALL document.
PHASE 3: INSTALLING ASTGUICLIENT AND VICIDIAL
Now that Asterisk is installed and running we can add the astGUIclient and
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.1)
- for 2.0.X release:
- mkdir /usr/src/astguiclient
- cd /usr/src/astguiclient
- wget http://internap.dl.sourceforge.net/sourceforge/astguiclient/astguiclient_2.0.1.zip
- unzip astguiclient_2.0.1.zip
- perl install.pl
- for SVN 2.0 trunk:
- mkdir /usr/src/astguiclient
- cd /usr/src/astguiclient
- svn checkout svn://205.201.151.21:43690/agc_2-X
- cd trunk
- perl install.pl
- 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://www.freedomphones.net/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/
Then you will need to execute this command to copy it as the park file
'cp /var/lib/asterisk/sounds/conf.gsm /var/lib/asterisk/sounds/park.gsm'
- you are done
PHASE 4: CREATING MYSQL DATABASE AND POPULATING IT
we will create the database and add a few initial records so that we can
use the administrative web interface. Since this is a new install it is easier
to use our new mysql script file to add the tables to the database:
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) #
create database asterisk;
GRANT SELECT,INSERT,UPDATE,DELETE on asterisk.* TO cron@'%' IDENTIFIED BY '1234';
GRANT SELECT,INSERT,UPDATE,DELETE on asterisk.* TO cron@localhost IDENTIFIED BY '1234';
use asterisk;
\. /usr/share/astguiclient/astguiclient/MySQL_AST_CREATE_tables.sql
GRANT SELECT on asterisk.phones TO idcheck@'%' IDENTIFIED BY '1234';
GRANT SELECT on asterisk.phones TO idcheck@localhost IDENTIFIED BY '1234';
##### make sure on these queries that you change the server_ip "10.10.10.15"
##### to the server IP that you are using
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.10');
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) values('6666','1234','Admin','9','ADMIN','1','1','1');
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 vicidial_conferences values('8600051','10.10.10.15','');
insert into vicidial_conferences values('8600052','10.10.10.15','');
insert into vicidial_conferences values('8600053','10.10.10.15','');
insert into vicidial_conferences values('8600054','10.10.10.15','');
insert into vicidial_conferences values('8600055','10.10.10.15','');
insert into vicidial_conferences values('8600056','10.10.10.15','');
insert into vicidial_conferences values('8600057','10.10.10.15','');
insert into vicidial_conferences values('8600058','10.10.10.15','');
insert into vicidial_conferences values('8600059','10.10.10.15','');
insert into vicidial_conferences values('8600060','10.10.10.15','');
insert into vicidial_conferences values('8600061','10.10.10.15','');
insert into vicidial_conferences values('8600062','10.10.10.15','');
insert into vicidial_conferences values('8600063','10.10.10.15','');
insert into vicidial_conferences values('8600064','10.10.10.15','');
insert into vicidial_conferences values('8600065','10.10.10.15','');
insert into vicidial_conferences values('8600066','10.10.10.15','');
insert into vicidial_conferences values('8600067','10.10.10.15','');
insert into vicidial_conferences values('8600068','10.10.10.15','');
insert into vicidial_conferences values('8600069','10.10.10.15','');
insert into vicidial_conferences values('8600070','10.10.10.15','');
insert into vicidial_conferences values('8600071','10.10.10.15','');
insert into vicidial_conferences values('8600072','10.10.10.15','');
insert into vicidial_conferences values('8600073','10.10.10.15','');
insert into vicidial_conferences values('8600074','10.10.10.15','');
insert into vicidial_conferences values('8600075','10.10.10.15','');
insert into vicidial_conferences values('8600076','10.10.10.15','');
insert into vicidial_conferences values('8600077','10.10.10.15','');
insert into vicidial_conferences values('8600078','10.10.10.15','');
insert into vicidial_conferences values('8600079','10.10.10.15','');
insert into vicidial_conferences values('8600080','10.10.10.15','');
insert into vicidial_conferences values('8600081','10.10.10.15','');
insert into vicidial_conferences values('8600082','10.10.10.15','');
insert into vicidial_conferences values('8600083','10.10.10.15','');
insert into vicidial_conferences values('8600084','10.10.10.15','');
insert into vicidial_conferences values('8600085','10.10.10.15','');
insert into vicidial_conferences values('8600086','10.10.10.15','');
insert into vicidial_conferences values('8600087','10.10.10.15','');
insert into vicidial_conferences values('8600088','10.10.10.15','');
insert into vicidial_conferences values('8600089','10.10.10.15','');
insert into vicidial_conferences values('8600090','10.10.10.15','');
insert into vicidial_conferences values('8600091','10.10.10.15','');
insert into vicidial_conferences values('8600092','10.10.10.15','');
insert into vicidial_conferences values('8600093','10.10.10.15','');
insert into vicidial_conferences values('8600094','10.10.10.15','');
insert into vicidial_conferences values('8600095','10.10.10.15','');
insert into vicidial_conferences values('8600096','10.10.10.15','');
insert into vicidial_conferences values('8600097','10.10.10.15','');
insert into vicidial_conferences values('8600098','10.10.10.15','');
insert into vicidial_conferences values('8600099','10.10.10.15','');
insert into vicidial_conferences values('8600100','10.10.10.15','');
### insert test vicidial leads, you may want to replace 7275551212
### with a real number to test in these records
insert into vicidial_list values('','2004-01-06','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead01','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0');
insert into vicidial_list values('','2004-01-06','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead02','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0');
insert into vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead03','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0');
insert into vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead04','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0');
insert into vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead05','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0');
insert into vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead06','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0');
insert into vicidial_list values('','2004-01-07','','NEW','','','TEST01','101','TESTCAMP','N','1','7275551212','Mr','Matt','X','lead07','1234 Fake St.','','','Clearwater','FL','','33760','USA','M','1970-01-01','','test@test.com','suprise','comments go here','0');
### these first 5 must be in all VICIDIAL systems for it to work properly #
insert into vicidial_statuses values('NEW','New Lead','N');
insert into vicidial_statuses values('QUEUE','Lead To Be Called','N');
insert into vicidial_statuses values('INCALL','Lead Being Called','N');
insert into vicidial_statuses values('DROP','Agent Not Available','N');
insert into vicidial_statuses values('NA','No Answer AutoDial','N');
insert into vicidial_statuses values('CALLBK','Call Back','Y');
insert into vicidial_statuses values('A','Answering Machine','Y');
insert into vicidial_statuses values('B','Busy','Y');
insert into vicidial_statuses values('DC','Disconnected Number','Y');
insert into vicidial_statuses values('DEC','Declined Sale','Y');
insert into vicidial_statuses values('DNC','DO NOT CALL','Y');
insert into vicidial_statuses values('SALE','Sale Made','Y');
insert into vicidial_statuses values('N','No Answer','Y');
insert into vicidial_statuses values('NI','Not Interested','Y');
insert into vicidial_statuses values('NP','No Pitch No Price','Y');
insert into vicidial_statuses values('XFER','Call Transferred','Y');
quit
run this command from command line:
- /usr/share/astguiclient/ADMIN_area_code_populate.pl
######------ END Mysql data entry ------######
NOTE: if you are not installing using default user/pass or have MySQL on another
server, you will need to edit either the /etc/astguiclient.conf file or the
dbconnect.php files in the astguiclient, vicidial and agc directories of your
webroot.
3. Enter the astguiclient administration page:
http://10.10.10.15/astguiclient/admin.php
NOTE: if you click on the Logout button you must leave the user/pass empty and click OK
- Here you will enter the login and password that you inserted into the mysql
database in the phones table and gave a status of ADMIN (above [gs102/test])
- Now that you are logged into the astGUIclient administration system we can
add a new phone entry for each of the sipura lines we created.
- click on the "ADD A NEW PHONE" link at the top and enter in the proper
information for each of the new phone lines. Here's what we entered for
spa2000:
- Phone extension: spa2000
- Dialplan Number: 2000
- Voicemail Box: 2000
- Phone IP address: 10.10.10.17
- Computer IP address: 10.10.9.17
- Server IP: 10.10.10.15
- Login: spa2000
- Password: test
- Status: ACTIVE
- Active Account: Y
- Phone Type: Sipura SPA-2000 line 1
- Full Name: Sipura line 1 test
- Company: TEST
- Picture:
- Protocol: SIP
- for the next phone simply replace 2000 with 2001 in the above example
- now your phones are all all set up in the astguiclient system and you can
use this website to add new phones to be used with astguiclient and monitor
the number of calls people are making.
- click on the "LIST ALL SERVERS" link at the top then click on the
server to modify. Verify that the GMT time zone and all other fields
are what you want them to be. There is a setting(Max VICIDIAL Trunks)
that can be modified to limit the number of VICIDIAL outbound trunks
that will be allowed to use on this server.
**OPTIONAL** For Zap clients you will need to use full Zap Channel name as the
extension on the admin page entry: "1-1" for our Zap phone example
previously. And do not forget to set the protocol on this page to Zap
PHASE 5: ADDING STARTUP ENTRIES FOR ASTGUICLIENT/VICIDIAL SCRIPTS
1. Make several entries in the rc.local of your system:
- on the command line type:
- vi /etc/rc.d/rc.local
- add the following entries(here's what we used):
### startup tftp server (if you have them installed)
/usr/local/sbin/in.tftpd --verbose=6 --daemon --port=69 --user cron /usr/local/tftp
### start time server
/usr/local/bin/ntpdate -u 18.145.0.30
/usr/sbin/ntpd
### start up the MySQL server
/usr/local/mysql/bin/mysqld_safe --user=mysql --skip-name-resolve --skip-host-cache &
### start up the apache web server
/usr/local/apache2/bin/apachectl start
### load digium zaptel 4xT1 drivers into system
modprobe zaptel
modprobe wct4xxp
/sbin/ztcfg -vvvvvvvvvvvv
### sybsys local login
touch /var/lock/subsys/local
### sleep for 20 seconds before launching Asterisk
sleep 20
### start up asterisk
/usr/share/astguiclient/start_asterisk_boot.pl
- you are done
PHASE 6: ADDING CRONTAB ENTRIES FOR ASTGUICLIENT/VICIDIAL SCRIPTS
1. Make several entries in the cron of your system:
- on the command line type:
- cd /usr/share/astguiclient
- crontab -e
- add the following entries(here's what we used):
(Note if you have not edited the AST_CRON_mix_recordings.pl script
to FTP to a different server, then you should use the
AST_CRON_mix_recordings_BASIC.pl file in it's place)
### recording mixing for Asterisk run every 5 minutes
1,6,11,16,21,26,31,36,41,46,51,56 * * * 1,2,3,4,5,6 /usr/share/astguiclient/AST_CRON_mix_recordings_BASIC.pl
### keepalive script for Asterisk updaters
* * * * * /usr/share/astguiclient/ADMIN_keepalive_AST_update.pl
### keepalive script for Asterisk manager queue system
* * * * * /usr/share/astguiclient/ADMIN_keepalive_AST_send_listen.pl
### keepalive script for Asterisk VICIDIAL autodial system
* * * * * /usr/share/astguiclient/ADMIN_keepalive_AST_VDautodial.pl
### keepalive script for VICIDIAL remote agents
* * * * * /usr/share/astguiclient/ADMIN_keepalive_AST_VDremote_agents.pl
### keepalive script for VICIDIAL predictive script
* * * * * /usr/share/astguiclient/ADMIN_keepalive_AST_VDadapt.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 * * * /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
### 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 18.145.0.30 2>/dev/null 1>&2
### VICIDIAL agent time log weekly summary report generation
2 0 * * 0 /usr/share/astguiclient/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
while you are in it type 'Ctrl+a' then 'd'
- you are done
PHASE 7: ADDING TEST LEADS TO VICIDIAL AND CONFIGURING A TEST CAMPAIGN AND USERS
First we will add a few test leads to the vicidial_list table so that we can
test our system. There is also an application included with the distribution
that will accept a delimited file of leads placed in the /usr/share/astguiclient/VICIDIAL/LEADS_IN/
directory and load it into the database automatically(VICIDIAL_IN_new_leads_file.pl
[a sample lead file in the proper format is included with this release:
- test_VICIDIAL_lead_file.txt])
If you want to use the lead import script I suggest looking at the code to make
sure it is entering what you want it to. We are not going to go over that
particular script in this document.
Also, there is a web-based lead loader available and is accessible from the
VICIDIAL admin.php web page(click on the "LOAD NEW LEADS" link in the LIST
section at the top of the admin page). To get to this page you must have
permissions in the vicidial_user table(Load Leads set to 1). Instructions on
it's use are included on the page through the help question mark link.
NOTE: in PHP you must have "fileuploads" enabled for this page to work.
NOTE: it is important to have your proper country code in the phone_code field
of your leads so that the GMT offset encodding will properly code the time
zones for your leads. For the USA/Canada/Caribbean this would be 1. For the
UK this is 44 and Mexico is 52 and so on.
Now that the sample leads have been entered, we can go into the VICIDIAL
administration website and set up our campaigns, lists and users.
But first let's make sure that they have the right GMT offset:
run this on the command line:
- /usr/share/astguiclient/ADMIN_adjust_GMTnow_on_leads.pl
3. Enter the astguiclient administration page:
http://10.10.10.15/vicidial/admin.php
(use the username and password created when we entered a record into the
vicidial_users table in SUBPHASE 6.3, In our case this is 6666 and 1234)
NOTE: if you click on the Logout button you must leave the user/pass empty and click OK
- Now that you are logged into the vicidial administration system we can add
new user entries for each of the new users and enter new campaigns and new
lists.
- The first step is to enter your new users, Click on the ADD A NEW USER
and fill in the appropriate information for each now user you want to
add.
- Next, you need to create a new campaign, click on the ADD A NEW
CAMPAIGN link and fill in what you want the campaign to be called as
well as a description
- Next, you need to define a new list, click on the ADD A NEW LIST link
and fill in what you want the list to be called as well as a using the
list ID of the leads that we loaded in the previous step "101" and
select the new campaign from the pull-down menu that we just created.
- Now that you have created your list, make it active by changing active to Y
- now modify your campaign ang change the first status to be called to
NEW and submit. Now your system is ready to dial.
- you are done
PHASE 8: VICIDIAL REMOTE AGENTS
With v1.0 of VICIDIAL we have the ability to use a simple web form to give
remote agents a way to receive calls to whatever number they happen to be at,
and they can view/edit call details and see a call log all through a web page
(vdremote.php) or http://10.10.10.15/vicidial/vdremote.php on this installation.
Remote Agents is only recommended for inbound calls because of the extra time
needed to dial a number out to transfer the call to. To set up remote agents,
just go to the vicidial admin.php page and ADD NEW REMOTE AGENTS(Make sure the
userID start also has a user login so they can get to the vdremote page). You
will see that you can set up a remote agent entry to take multiple lines if you
wish meaning that, for example, if you need to send all of your calls to another
location because of a massive snowstorm(and none of your agents showed up at work)
you just log in that remote agent record with say 10 lines and then all of those
calls will be directed to the same number you set up for the remote agent. Then
again you could just get your agents to log in from home if they have a phone
and computer
PHASE 9: astGUIclient and VICIDIAL WEB CLIENTS
The browser requirements for the web-client interfaces are:
- Firefox 0.9 or greater (Firefox 1.0.7 is the recommended browser)
- Mozilla 1.7 or greater
- Netscape 8 or greater
- Opera 8.5 or greater
- Microsoft Internet Explorer 5.0 or greater (we have noticed some serious
memory leaks in IE5 and IE6 when using this program, they do not occur in
Firefox which is why we recommend it overall.)
To log into this app you will need a login setup in the vicidial_users table
as well as an entry for the phone you are using in the phones table. You will
first get a login prompt for the vicidial login then you will have the phone
login where you enter the Login and Password for that phone entry. From there
the app should display and you will see the MAIN screen with your login
information at the top.
The example web page you would go to on this installation would be:
http://10.10.10.15/agc/astguiclient.php
http://10.10.10.15/agc/vicidial.php
Another thing to note is that you can have the agc folder(with the .php files
in it) copied to multiple web servers, you just need to make sure that the
MySQL database connection works (check the settings in the dbconnect.php file
that is in the agc directory). We have had astguiclient.php running on 3
separate web servers for the same DB server and Asterisk server. This is an
easy way to allow for auto failover and/or redundancy. Also, this client will
work over SSL connections(https) for encrypted communications with the server.
New in astGUIclient release 1.1.7 is multi-language support. multi-language
versions of web-clients and admin pages are available in the LANG_agc.zip and
LANG_www directries and can be copied into your webroot directory.
One more feature that the VICIDIAL web-client offers is the ability to set up
an EXTERNAL phone extension in the astguiclient admin section so that you can
have agents log in to vicidial.php wherever they have access to a phone with
an external phone number and a web browser. To do this follow these steps:
- "ADD A NEW PHONE" in the admin.php web page and enter whatever name you want
- For the dialplan number field put in the full digits that you would dial from
the Asterisk server to get to that agent's external phone(with 91 if used)
- For the Protocol select EXTERNAL
- make sure the agent knows the login and password set for this phone entry.
Then the agent will go to the vicidial.php page and enter in their phone
login/pass, their vicidial user/pass/campaign and their phone should ring in a
few seconds, and they are logged in and ready to take calls.
Admin Note: If you want to enable your agents to login with only their user/pass
you can hardcode the phone_login and phone_pass into the query string(URL) and
use a bookmark on their desktop, taking one more step out of their login process
example: http://10.10.10.15/agc/vicidial.php?pl=gs102&pp=test
It is recommended if you are in a call center environment that you would disable
the "Saved Form Information" option in Firefox settings. This is a checkbox in
the Privacy settings under the Options menu.
PHASE 10: You are done with installation
Now you can celebrate, you have installed a complete phone system with dialer
and GUI applications on all of your clients.
If you have problems and it is not working right(and are NOT celebrating right
now), feel free to take a look at the FAQ for solutions to common installation
errors, read the SCRATCH_INSTALL document, visit the VICIDIAL forum or send an
email to the mailing list:
http://www.eflo.net/VICIDIALforum/index.php
https://lists.sourceforge.net/lists/listinfo/astguiclient-users
Also, check out our weblog: http://astguiclient.blogspot.com/
**** IMPORTANT - In order for vicidial/astguiclient to function correctly please
read the REQUIREMENTS.txt for a minimum requirements list. ***
+36 -32
View File
@@ -1038,8 +1038,7 @@ we have set up:
[zonemessages] [zonemessages]
eastern=America/New_York|'vm-received' Q 'digits/at' IMp eastern=America/New_York|'vm-received' Q 'digits/at' IMp
central=America/Chicago|'vm-received' Q 'digits/at' IMp central=America/Chicago|'vm-received' Q 'digits/at' IMp
central24=America/Chicago|'vm-received' q 'digits/at' H 'digits/hundred' central24=America/Chicago|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours'
M 'hours'
[default] [default]
102 => 102,Grandstream Mailbox,root@localhost 102 => 102,Grandstream Mailbox,root@localhost
2000 => 2000,Sipura Mailbox 1 2000 => 2000,Sipura Mailbox 1
@@ -1351,7 +1350,7 @@ coming in going through Zaptel line card. There isn't much to do but set your
Zaptel config files up and put entries into your extensions.conf file: Zaptel config files up and put entries into your extensions.conf file:
1. Add an entry into your extensions.conf file like below 1. Add an entry into your extensions.conf file like below
; Extension 4001 rings IAX phone ; Extension 4001 rings Zap phone
exten => 4001,1,Dial,Zap/1|30| ; ring Zap device 1 exten => 4001,1,Dial,Zap/1|30| ; ring Zap device 1
exten => 4001,2,Voicemail,u4001 ; Send to voicemail... exten => 4001,2,Voicemail,u4001 ; Send to voicemail...
@@ -1439,6 +1438,26 @@ 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 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 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','');
quit quit
run this command from command line: run this command from command line:
@@ -1447,8 +1466,9 @@ quit
######------ END Mysql data entry ------###### ######------ END Mysql data entry ------######
NOTE: if you are not installing using default user/pass or have MySQL on another NOTE: if you are not installing using default user/pass or have MySQL on another
server, you will need to edit the dbconnect.php files in the astguiclient, vicidial server, you will need to edit either the /etc/astguiclient.conf file or the
and agc directories of your webroot. dbconnect.php files in the astguiclient, vicidial and agc directories of your
webroot.
3. Enter the astguiclient administration page: 3. Enter the astguiclient administration page:
http://10.10.10.15/astguiclient/admin.php http://10.10.10.15/astguiclient/admin.php
@@ -1478,17 +1498,9 @@ spa2000:
- now your phones are all all set up in the astguiclient system and you can - now your phones are all all set up in the astguiclient system and you can
use this website to add new phones to be used with astguiclient and monitor use this website to add new phones to be used with astguiclient and monitor
the number of calls people are making. the number of calls people are making.
- click on the "ADD A NEW CONFERENCE" link at the top and enter in the - now your database is set up for the astguiclient conferences which
proper information for each of the new conference lines we will be will allow you to have over 6 remote parties that you called from your
adding in a future step. Here's what we entered for out server: GUI client application in one conference.
- Phone extension:
- Conference Number: 8600011
- Server IP: 10.10.10.15
- for the rest of the conference entries simply increment the conference
number up to 8600029 in the above example
- now your database is set up for the astguiclient conferences which will
allow you to have up to 6 remote parties that you called from your GUI client
application in one conference.
- click on the "LIST ALL SERVERS" link at the top then click on the - click on the "LIST ALL SERVERS" link at the top then click on the
server to modify. Verify that the GMT time zone and all other fields server to modify. Verify that the GMT time zone and all other fields
are what you want them to be. There is a setting(Max VICIDIAL Trunks) are what you want them to be. There is a setting(Max VICIDIAL Trunks)
@@ -2477,13 +2489,9 @@ easy way to allow for auto failover and/or redundancy. Also, this client will
work over SSL connections(https) for encrypted communications with the server. work over SSL connections(https) for encrypted communications with the server.
New in astGUIclient release 1.1.7 is multi-language support. multi-language New in astGUIclient release 1.1.7 is multi-language support. multi-language
versions of web-clients and admin pages are available in the LANG_agc.zip and versions of web-clients and admin pages are available in the LANG_www directory
LANG_admin.zip files and can be unzipped into your webroot directory. Make sure and can be unzipped into your webroot directory.
you check the dbconnect.php file in each directory.
NOTE: make sure you have your machine time-syncing with an ntp server
Windows instructions: http://www.tech-recipes.com/windows_tips466.html
http://support.microsoft.com/kb/q216734/
SUBPHASE 6.9: VICIDIAL web-only client: SUBPHASE 6.9: VICIDIAL web-only client:
@@ -2540,9 +2548,8 @@ easy way to allow for auto failover and/or redundancy. Also, this client will
work over SSL connections(https) for encrypted communications with the server. work over SSL connections(https) for encrypted communications with the server.
New in astGUIclient release 1.1.7 is multi-language support. multi-language New in astGUIclient release 1.1.7 is multi-language support. multi-language
versions of web-clients and admin pages are available in the LANG_agc.zip and versions of web-clients and admin pages are available in the LANG_www directory
LANG_admin.zip files and can be unzipped into your webroot directory. Make sure and can be unzipped into your webroot directory.
you check the dbconnect.php file in each directory.
Admin Note: If you want to enable your agents to login with only their user/pass Admin Note: If you want to enable your agents to login with only their user/pass
you can hardcode the phone_login and phone_pass into the query string(URL) and you can hardcode the phone_login and phone_pass into the query string(URL) and
@@ -2553,21 +2560,18 @@ It is recommended if you are in a call center environment that you would disable
the "Saved Form Information" option in Firefox settings. This is a checkbox in the "Saved Form Information" option in Firefox settings. This is a checkbox in
the Privacy settings under the Options menu. the Privacy settings under the Options menu.
NOTE: make sure you have your machine time-syncing with an ntp server
Windows instructions: http://www.tech-recipes.com/windows_tips466.html
http://support.microsoft.com/kb/q216734/
PHASE 7.0: You are done with installation PHASE 7.0: You are done with installation
Now you can celebrate, you have installed a complete phone system with dialer Now you can celebrate, you have installed a complete phone system with dialer
and GUI applications on all of your clients. the astGUIclient has a help screen and GUI applications on all of your clients.
that pops up and explains most of it's features.
If you have problems and it is not working right(and are NOT celebrating right If you have problems and it is not working right(and are NOT celebrating right
now), feel free to take a look at the FAQ for solutions to common installation now), feel free to take a look at the FAQ for solutions to common installation
errors or send an email to the mailing list: errors, read the SCRATCH_INSTALL document, visit the VICIDIAL forum or send an
email to the mailing list:
http://www.eflo.net/VICIDIALforum/index.php
https://lists.sourceforge.net/lists/listinfo/astguiclient-users https://lists.sourceforge.net/lists/listinfo/astguiclient-users
Also, check out our weblog: http://astguiclient.blogspot.com/ Also, check out our weblog: http://astguiclient.blogspot.com/
@@ -0,0 +1,6 @@
; /etc/asterisk/dnsmgr.conf:
; This file is very useful for DNS refreshing when using VOIP providers
[general]
enable=yes ; enable creation of managed DNS lookups
refreshinterval=300 ; refresh managed DNS lookups every <n> seconds
@@ -0,0 +1,537 @@
; /etc/asterisk/meetme.conf:
; This is the sample meetme conferencing configuration file
[general]
static=yes
writeprotect=no
[globals]
CONSOLE=Console/dsp ; Console interface for demo
TRUNK=Zap/g1 ; Trunk interface
TRUNKX=Zap/g2 ; 2nd trunk interface
TRUNKIAX=IAX2/ASTtest1:test@10.10.10.16:4569 ; IAX trunk interface
TRUNKIAX1=IAX2/ASTtest1:test@10.10.10.16:4569 ; IAX trunk interface
TRUNKBINFONE=IAX2/1112223333:PASSWORD@iax.binfone.com ; IAX trunk interface
SIPtrunk=SIP/1234:PASSWORD@sip.provider.net ; SIP trunk
[default]
; Extension 8600 + 8601 conference rooms
exten => 8600,1,Meetme,8600
exten => 8601,1,Meetme,8601
; Extension 102 - Grandstream hardphone
exten => 102,1,Playback,transfer|skip ; "Please hold while..."
exten => 102,2,Dial,sip/gs102|20|to ; Ring, 20 secs max
exten => 102,3,Voicemail,u102 ; Send to voicemail...
; Extension 2000 Sipura line 1
exten => 2000,1,Dial,sip/spa2000|30|to ; Ring, 30 secs max
exten => 2000,2,Voicemail,u2000 ; Send to voicemail...
; Extension 2001 Sipura line 2
exten => 2001,1,Dial,sip/spa2001|30|to ; Ring, 30 secs max
exten => 2001,2,Voicemail,u2001 ; Send to voicemail...
; Extension 2020 rings both sipura lines
exten => 2001,1,Dial,sip/spa2000&sip/spa2001|30|to ; Ring, 30 secs max
exten => 2001,2,Voicemail,u2000 ; Send to voicemail...
; Extension 301 rings the firefly softphone
exten => 301,1,Dial,(IAX2/firefly01@firefly01/s)
exten => 301,2,Hangup
; # timeout invalid rules
exten => #,1,Playback(invalid) ; "Thanks for trying the demo"
exten => #,2,Hangup ; Hang them up.
exten => t,1,Goto(#,1) ; If they take too long, give up
exten => i,1,Playback(invalid) ; "That's not valid, try again"
; Give voicemail at extension 8500
exten => 8500,1,VoicemailMain
exten => 8500,2,Goto(s,6)
; ASTERISK AGENTS LOGINS FOR QUEUES (NOT part of VICIDIAL)
; the following assumes phone agent login and exten are 3 digits and the same
; also assumes that 3-digit login is present in agents.conf and queueus.conf
;Agent Logout then stay onhook, DIAL 54 + 3-digit ID
exten => _54XXX,1,AgentCallbackLogin(||)
; the following are used to login and logout of Asterisk Queues from phone
;Agent Login then stay offhook on the phone, DIAL 55 + 3-digit ID
exten => _55XXX,1,AgentLogin(${EXTEN:1})
;Agent Login then stay onhook, phones will ring, DIAL 56 + 3-digit ID
exten => _56XXX,1,AgentCallbackLogin(||${EXTEN:1}@default)
; Extension 4001 rings Zap phone
exten => 4001,1,Dial,Zap/1|30| ; ring Zap device 1
exten => 4001,2,Voicemail,u4001 ; Send to voicemail...
exten => h,1,DeadAGI(call_log.agi,${EXTEN}) ; DeadAGI is new
exten => h,2,DeadAGI(VD_hangup.agi,PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME})
; Extension 3429 - Inbound 800 number (1-800-555-3429)
exten => _**3429,1,Ringing
exten => _**3429,2,AGI(call_log.agi,${EXTEN})
exten => _**3429,3,Answer
exten => _**3429,4,Dial,sip/spa2000&sip/spa2001|30|to
exten => _**3429,5,Voicemail,u2000
; Extension 3429 - with ANI [callerID]
exten => _*NXXNXXXXXX*3429,1,Ringing
exten => _*NXXNXXXXXX*3429,2,AGI(call_log.agi,${EXTEN})
exten => _*NXXNXXXXXX*3429,3,Answer
exten => _*NXXNXXXXXX*3429,4,Dial,sip/spa2000&sip/spa2001|30|to
exten => _*NXXNXXXXXX*3429,5,Voicemail,u2000
; Inbound call from BINFONE
; exten => 1112223333,1,AGI(call_log.agi,${EXTEN})
; exten => 1112223333,2,Dial(sip/gs102,55,o)
; exten => 1112223333,3,Hangup
; Extension 7275551212 - Inbound local number from PRI with 10 digit delivery
exten => 7275551212,1,Ringing
exten => 7275551212,2,Wait(1)
exten => 7275551212,3,AGI(call_logCID.agi,${EXTEN}-----${CALLERID}-----${CALLERIDNUM}-----${CALLERIDNAME})
exten => 7275551212,4,Answer
exten => 7275551212,5,Dial,sip/spa2000&sip/spa2001|30|to
exten => 7275551212,6,Voicemail,u2000
; dial a long distance outbound number to the UK
exten => _901144XXXXXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _901144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,tTo)
exten => _901144XXXXXXXXXX,3,Hangup
; dial a long distance outbound number to Australia
exten => _901161XXXXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo)
exten => _901161XXXXXXXXX,3,Hangup
; dial an 800 outbound number
exten => _91800NXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _91800NXXXXXX,3,Hangup
exten => _91888NXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _91888NXXXXXX,3,Hangup
exten => _91877NXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _91877NXXXXXX,3,Hangup
exten => _91866NXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _91866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _91866NXXXXXX,3,Hangup
; dial a local 727 outbound number with area code
exten => _9727NXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,tTo)
exten => _9727NXXXXXX,3,Hangup
; dial a local 813 outbound number with area code
exten => _9813NXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _9813NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo)
exten => _9813NXXXXXX,3,Hangup
; dial a long distance outbound number
exten => _91NXXNXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo)
exten => _91NXXNXXXXXX,3,Hangup
; dial a long distance outbound number through BINFONE
; exten => _91NXXNXXXXXX,1,AGI(call_log.agi,${EXTEN})
; exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN},55,o)
; exten => _91NXXNXXXXXX,3,Hangup
; dial a long distance outbound number through a SIP provider
; exten => _91NXXNXXXXXX,1,AGI(call_log.agi,${EXTEN})
; exten => _91NXXNXXXXXX,2,Dial(sip/${EXTEN}@SIPtrunk,55,o)
; exten => _91NXXNXXXXXX,3,Hangup
; dial a local outbound number (modified because of only LD T1)
exten => _9NXXXXXX,1,AGI(call_log.agi,${EXTEN})
exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,tTo)
exten => _9NXXXXXX,3,Hangup
; parameters for call_inbound.agi (7 fields separated by five dashes "-----"):
; 1. the extension of the phone to ring as defined in the asterisk.phones table
; 2. the phone number that was called, for the live_inbound/_log entry
; 3. a text description of the number that was called in
; 4-7. optional fields, they are also passed as fields in the GUI to web browser
; Extension 3429 - Inbound 800 number (1-800-555-3429)
exten => _**3429,1,Ringing
exten => _**3429,2,AGI(call_log.agi,${EXTEN})
exten => _**3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w)
exten => _**3429,4,Answer
exten => _**3429,5,Dial,sip/spa2000&sip/spa2001|30|to
exten => _**3429,6,Voicemail,u2000
; Extension 3429 - with ANI [callerID]
exten => _*NXXNXXXXXX*3429,1,Ringing
exten => _*NXXNXXXXXX*3429,2,AGI(call_log.agi,${EXTEN})
exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w)
exten => _*NXXNXXXXXX*3429,3,Answer
exten => _*NXXNXXXXXX*3429,4,Dial,sip/spa2000&sip/spa2001|30|to
exten => _*NXXNXXXXXX*3429,5,Voicemail,u2000
exten => _010*010*010*015*8600XXX,1,Goto(default,${EXTEN:16},1)
exten => _010*010*010*015*8600XXX*.,1,Goto(default,${EXTEN:16},1)
exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi)
; ### server 2 extens:
; exten => _010*010*010*016*8600XXX,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o)
; exten => _010*010*010*016*8600XXX,2,Hangup
; exten => _010*010*010*016*8600XXX*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o)
; exten => _010*010*010*016*8600XXX*.,2,Hangup
; parameters for agi-VDADcloser.agi (2 fields separated by five dashes "-----"):
; 1. the full extension formatted by VICIDIAL for internal transfers * separated
; 2. the word START to denote the beginning of the acceptance of the transfer
; inbound VICIDIAL transfer calls [can arrive through PRI T1 crossover or IAX channel]
exten => _90009.,1,Answer ; Answer the line
exten => _90009.,2,AGI(agi-VDADcloser.agi,${EXTEN}-----START)
exten => _90009.,3,Hangup
; parameters for agi-VDADcloser_inbound....agi (7 fields separated by five dashes "-----"):
; 1. the full name of the IN GROUP to be used in vicidial for the inbound call
; 2. the phone number that was called, for the log entry
; 3. the callerID or lead_id of the person that called(usually overridden)
; 4. the park extension audio file name if used
; 5. the status of the call initially(usually not used)
; 6. the list_id to insert the new lead under if it is new (and callerID available)
; 7. the phone dialing code to insert with the new lead if new (and callerID available)
; inbound VICIDIAL call with CID delivery through T1 PRI
exten => 1234,1,Ringing ; call ringing
exten => 1234,2,Wait(1) ; Wait 1 second for CID delivery from PRI
exten => 1234,3,Answer ; Answer the line
exten => 1234,4,AGI(agi-VDADcloser_inboundCID.agi,CL_GALLERIA-----7275555134-----Closer-----park----------999-----1)
exten => 1234,5,Hangup
; inbound VICIDIAL call with ANI delivery through robbed-bit T1 (*NXXNXXXXXX*DNIS)
exten => 1234,1,Answer ; Answer the line
exten => 1234,2,AGI(agi-VDADcloser_inboundANI.agi,CL_GALLERIA-----7275555134-----Closer-----park----------999-----1)
exten => 1234,3,Hangup
; inbound VICIDIAL call with prompt for 4-digit fronter code
exten => 1234,1,Answer ; Answer the line
exten => 1234,2,AGI(agi-VDADcloser_inbound.agi,CL_GALLERIA-----7275555134-----Closer-----park----------999-----1)
exten => 1234,3,Hangup
; barge monitoring extension
exten => 8159,1,ZapBarge
exten => 8159,2,Hangup
; ZapBarge direct channel extensions
exten => 8612001,1,ZapBarge(1)
exten => 8612002,1,ZapBarge(2)
exten => 8612003,1,ZapBarge(3)
exten => 8612004,1,ZapBarge(4)
exten => 8612005,1,ZapBarge(5)
exten => 8612006,1,ZapBarge(6)
exten => 8612007,1,ZapBarge(7)
exten => 8612008,1,ZapBarge(8)
exten => 8612009,1,ZapBarge(9)
exten => 8612010,1,ZapBarge(10)
exten => 8612011,1,ZapBarge(11)
exten => 8612012,1,ZapBarge(12)
exten => 8612013,1,ZapBarge(13)
exten => 8612014,1,ZapBarge(14)
exten => 8612015,1,ZapBarge(15)
exten => 8612016,1,ZapBarge(16)
exten => 8612017,1,ZapBarge(17)
exten => 8612018,1,ZapBarge(18)
exten => 8612019,1,ZapBarge(19)
exten => 8612020,1,ZapBarge(20)
exten => 8612021,1,ZapBarge(21)
exten => 8612022,1,ZapBarge(22)
exten => 8612023,1,ZapBarge(23)
exten => 8612024,1,ZapBarge(24)
; astGUIclient conferences
exten => 8600011,1,Meetme,8600011|q
exten => 8600012,1,Meetme,8600012|q
exten => 8600013,1,Meetme,8600013|q
exten => 8600014,1,Meetme,8600014|q
exten => 8600015,1,Meetme,8600015|q
exten => 8600016,1,Meetme,8600016|q
exten => 8600017,1,Meetme,8600017|q
exten => 8600018,1,Meetme,8600018|q
exten => 8600019,1,Meetme,8600019|q
exten => 8600020,1,Meetme,8600020|q
exten => 8600021,1,Meetme,8600021|q
exten => 8600022,1,Meetme,8600022|q
exten => 8600023,1,Meetme,8600023|q
exten => 8600024,1,Meetme,8600024|q
exten => 8600025,1,Meetme,8600025|q
exten => 8600026,1,Meetme,8600026|q
exten => 8600027,1,Meetme,8600027|q
exten => 8600028,1,Meetme,8600028|q
exten => 8600029,1,Meetme,8600029|q
; VICIDIAL conferences
exten => 8600051,1,Meetme,8600051
exten => 8600052,1,Meetme,8600052
exten => 8600053,1,Meetme,8600053
exten => 8600054,1,Meetme,8600054
exten => 8600055,1,Meetme,8600055
exten => 8600056,1,Meetme,8600056
exten => 8600057,1,Meetme,8600057
exten => 8600058,1,Meetme,8600058
exten => 8600059,1,Meetme,8600059
exten => 8600060,1,Meetme,8600060
exten => 8600061,1,Meetme,8600061
exten => 8600062,1,Meetme,8600062
exten => 8600063,1,Meetme,8600063
exten => 8600064,1,Meetme,8600064
exten => 8600065,1,Meetme,8600065
exten => 8600066,1,Meetme,8600066
exten => 8600067,1,Meetme,8600067
exten => 8600068,1,Meetme,8600068
exten => 8600069,1,Meetme,8600069
exten => 8600070,1,Meetme,8600070
exten => 8600071,1,Meetme,8600071
exten => 8600072,1,Meetme,8600072
exten => 8600073,1,Meetme,8600073
exten => 8600074,1,Meetme,8600074
exten => 8600075,1,Meetme,8600075
exten => 8600076,1,Meetme,8600076
exten => 8600077,1,Meetme,8600077
exten => 8600078,1,Meetme,8600078
exten => 8600079,1,Meetme,8600079
exten => 8600080,1,Meetme,8600080
exten => 8600081,1,Meetme,8600081
exten => 8600082,1,Meetme,8600082
exten => 8600083,1,Meetme,8600083
exten => 8600084,1,Meetme,8600084
exten => 8600085,1,Meetme,8600085
exten => 8600086,1,Meetme,8600086
exten => 8600087,1,Meetme,8600087
exten => 8600088,1,Meetme,8600088
exten => 8600089,1,Meetme,8600089
exten => 8600090,1,Meetme,8600090
exten => 8600091,1,Meetme,8600091
exten => 8600092,1,Meetme,8600092
exten => 8600093,1,Meetme,8600093
exten => 8600094,1,Meetme,8600094
exten => 8600095,1,Meetme,8600095
exten => 8600096,1,Meetme,8600096
exten => 8600097,1,Meetme,8600097
exten => 8600098,1,Meetme,8600098
exten => 8600099,1,Meetme,8600099
exten => 8600100,1,Meetme,8600100
; quiet entry and leaving conferences for VICIDIAL
exten => 78600051,1,Meetme,8600051|q
exten => 78600052,1,Meetme,8600052|q
exten => 78600053,1,Meetme,8600053|q
exten => 78600054,1,Meetme,8600054|q
exten => 78600055,1,Meetme,8600055|q
exten => 78600056,1,Meetme,8600056|q
exten => 78600057,1,Meetme,8600057|q
exten => 78600058,1,Meetme,8600058|q
exten => 78600059,1,Meetme,8600059|q
exten => 78600060,1,Meetme,8600060|q
exten => 78600061,1,Meetme,8600061|q
exten => 78600062,1,Meetme,8600062|q
exten => 78600063,1,Meetme,8600063|q
exten => 78600064,1,Meetme,8600064|q
exten => 78600065,1,Meetme,8600065|q
exten => 78600066,1,Meetme,8600066|q
exten => 78600067,1,Meetme,8600067|q
exten => 78600068,1,Meetme,8600068|q
exten => 78600069,1,Meetme,8600069|q
exten => 78600070,1,Meetme,8600070|q
exten => 78600071,1,Meetme,8600071|q
exten => 78600072,1,Meetme,8600072|q
exten => 78600073,1,Meetme,8600073|q
exten => 78600074,1,Meetme,8600074|q
exten => 78600075,1,Meetme,8600075|q
exten => 78600076,1,Meetme,8600076|q
exten => 78600077,1,Meetme,8600077|q
exten => 78600078,1,Meetme,8600078|q
exten => 78600079,1,Meetme,8600079|q
exten => 78600080,1,Meetme,8600080|q
exten => 78600081,1,Meetme,8600081|q
exten => 78600082,1,Meetme,8600082|q
exten => 78600083,1,Meetme,8600083|q
exten => 78600084,1,Meetme,8600084|q
exten => 78600085,1,Meetme,8600085|q
exten => 78600086,1,Meetme,8600086|q
exten => 78600087,1,Meetme,8600087|q
exten => 78600088,1,Meetme,8600088|q
exten => 78600089,1,Meetme,8600089|q
exten => 78600090,1,Meetme,8600090|q
exten => 78600091,1,Meetme,8600091|q
exten => 78600092,1,Meetme,8600092|q
exten => 78600093,1,Meetme,8600093|q
exten => 78600094,1,Meetme,8600094|q
exten => 78600095,1,Meetme,8600095|q
exten => 78600096,1,Meetme,8600096|q
exten => 78600097,1,Meetme,8600097|q
exten => 78600098,1,Meetme,8600098|q
exten => 78600099,1,Meetme,8600099|q
exten => 78600100,1,Meetme,8600100|q
; quiet monitor extensions for meetme rooms (for room managers)
exten => 68600051,1,Meetme,8600051|mq
exten => 68600052,1,Meetme,8600052|mq
exten => 68600053,1,Meetme,8600053|mq
exten => 68600054,1,Meetme,8600054|mq
exten => 68600055,1,Meetme,8600055|mq
exten => 68600056,1,Meetme,8600056|mq
exten => 68600057,1,Meetme,8600057|mq
exten => 68600058,1,Meetme,8600058|mq
exten => 68600059,1,Meetme,8600059|mq
exten => 68600060,1,Meetme,8600060|mq
exten => 68600061,1,Meetme,8600061|mq
exten => 68600062,1,Meetme,8600062|mq
exten => 68600063,1,Meetme,8600063|mq
exten => 68600064,1,Meetme,8600064|mq
exten => 68600065,1,Meetme,8600065|mq
exten => 68600066,1,Meetme,8600066|mq
exten => 68600067,1,Meetme,8600067|mq
exten => 68600068,1,Meetme,8600068|mq
exten => 68600069,1,Meetme,8600069|mq
exten => 68600070,1,Meetme,8600070|mq
exten => 68600071,1,Meetme,8600071|mq
exten => 68600072,1,Meetme,8600072|mq
exten => 68600073,1,Meetme,8600073|mq
exten => 68600074,1,Meetme,8600074|mq
exten => 68600075,1,Meetme,8600075|mq
exten => 68600076,1,Meetme,8600076|mq
exten => 68600077,1,Meetme,8600077|mq
exten => 68600078,1,Meetme,8600078|mq
exten => 68600079,1,Meetme,8600079|mq
exten => 68600080,1,Meetme,8600080|mq
exten => 68600081,1,Meetme,8600081|mq
exten => 68600082,1,Meetme,8600082|mq
exten => 68600083,1,Meetme,8600083|mq
exten => 68600084,1,Meetme,8600084|mq
exten => 68600085,1,Meetme,8600085|mq
exten => 68600086,1,Meetme,8600086|mq
exten => 68600087,1,Meetme,8600087|mq
exten => 68600088,1,Meetme,8600088|mq
exten => 68600089,1,Meetme,8600089|mq
exten => 68600090,1,Meetme,8600090|mq
exten => 68600091,1,Meetme,8600091|mq
exten => 68600092,1,Meetme,8600092|mq
exten => 68600093,1,Meetme,8600093|mq
exten => 68600094,1,Meetme,8600094|mq
exten => 68600095,1,Meetme,8600095|mq
exten => 68600096,1,Meetme,8600096|mq
exten => 68600097,1,Meetme,8600097|mq
exten => 68600098,1,Meetme,8600098|mq
exten => 68600099,1,Meetme,8600099|mq
exten => 68600100,1,Meetme,8600100|mq
; park channel for client GUI parking, hangup after 30 minutes
; create a GSM formatted audio file named "park.gsm" that is 30 minutes long
; and put it in /var/lib/asterisk/sounds
exten => 8301,1,Answer
exten => 8301,2,AGI(park_CID.agi)
exten => 8301,3,Playback(park)
exten => 8301,4,Hangup
exten => 8303,1,Answer
exten => 8303,2,AGI(park_CID.agi)
exten => 8303,3,Playback(conf)
exten => 8303,4,Hangup
; park channel for client GUI conferencing, hangup after 30 minutes
; create a GSM formatted audio file named "conf.gsm" that is 30 minutes long
; and put it in /var/lib/asterisk/sounds
exten => 8302,1,Answer
exten => 8302,2,Playback(conf)
exten => 8302,3,Hangup
; default audio for safe harbor 2-second-after-hello message then hangup
; create a GSM formatted audio file complies with safe harbor rules
; and put it in /var/lib/asterisk/sounds then change filename below
exten => 8307,1,Answer
exten => 8307,2,Playback(vm-goodbye)
exten => 8307,3,Hangup
; this is used for recording conference calls, the client app sends the filename
; value as a callerID recordings go to /var/spool/asterisk/monitor (WAV)
exten => 8309,1,Answer
exten => 8309,2,Monitor(wav,${CALLERIDNAME})
exten => 8309,3,Wait,3600
exten => 8309,4,Hangup
; this is used for recording conference calls, the client app sends the filename
; value as a callerID recordings go to /var/spool/asterisk/monitor (GSM)
exten => 8310,1,Answer
exten => 8310,2,Monitor(gsm,${CALLERIDNAME})
exten => 8310,3,Wait,3600
exten => 8310,4,Hangup
; this is used for playing a message to an answering machine forwarded from AMD in VICIDIAL
; replace conf with the message file you want to leave
exten => 8320,1,WaitForSilence(2000,2) ; AMD got machine. leave message after recording
exten => 8320,2,Playback(conf)
exten => 8320,3,AGI(VD_amd_post.agi,${EXTEN})
exten => 8320,4,Hangup
; this is used to allow the GUI to send you directly into voicemail
; don't forget to set GUI variable $voicemail_exten to this extension
exten => 8501,1,VoicemailMain(s${CALLERIDNUM})
exten => 8501,2,Hangup
; this is used to allow the GUI to send live calls directly into voicemail
; don't forget to set GUI variable $voicemail_dump_exten to this extension
exten => _85026666666666.,1,Wait(2)
exten => _85026666666666.,2,Voicemail(${EXTEN:14})
exten => _85026666666666.,3,Hangup
; this is used for sending DTMF signals within conference calls, the client app
; sends the digits to be played in the callerID field
; sound files must be placed in /var/lib/asterisk/sounds
exten => 8500998,1,Answer
exten => 8500998,2,Playback(silence)
exten => 8500998,3,AGI(agi-dtmf.agi)
exten => 8500998,4,Hangup
; prompt recording AGI script, ID is 4321
exten => 8168,1,Answer
exten => 8168,2,AGI(agi-record_prompts.agi)
exten => 8168,3,Hangup
; playback of recorded prompts
exten => _851XXXXX,1,Answer
exten => _851XXXXX,2,Playback(${EXTEN})
exten => _851XXXXX,3,Hangup
; VICIDIAL_auto_dialer transfer script:
exten => 8365,1,AGI(call_log.agi,${EXTEN})
exten => 8365,2,AGI(agi-VDADtransfer.agi,${EXTEN})
exten => 8365,3,AGI(agi-VDADtransfer.agi,${EXTEN})
exten => 8365,4,AGI(agi-VDADtransfer.agi,${EXTEN})
exten => 8365,5,Hangup
; VICIDIAL_auto_dialer transfer script SURVEY at beginning:
exten => 8366,1,AGI(call_log.agi,${EXTEN})
exten => 8366,2,AGI(agi-VDADtransferSURVEY.agi,${EXTEN})
exten => 8366,3,AGI(agi-VDADtransferSURVEY.agi,${EXTEN})
exten => 8366,4,AGI(agi-VDADtransferSURVEY.agi,${EXTEN})
exten => 8366,5,Hangup
; VICIDIAL_auto_dialer transfer script Load Balance Overflow:
exten => 8367,1,AGI(call_log.agi,${EXTEN})
exten => 8367,2,AGI(agi-VDAD_LO_transfer.agi,${EXTEN})
exten => 8367,3,AGI(agi-VDAD_LO_transfer.agi,${EXTEN})
exten => 8367,4,AGI(agi-VDAD_LO_transfer.agi,${EXTEN})
exten => 8367,5,Hangup
; VICIDIAL_auto_dialer transfer script Load Balanced:
exten => 8368,1,AGI(call_log.agi,${EXTEN})
exten => 8368,2,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8368,3,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8368,4,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8368,5,Hangup
; VICIDIAL_auto_dialer transfer script AMD with Load Balanced:
exten => 8369,1,AGI(call_log.agi,${EXTEN})
exten => 8369,2,AMD(3500|1500|300|5000|120|50|5|256)
exten => 8369,3,AGI(VD_amd.agi,${EXTEN})
exten => 8369,4,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8369,5,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8369,6,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8369,7,Hangup
; VICIDIAL auto-dial reminder script
exten => 8372,1,AGI(call_log.agi,${EXTEN})
exten => 8372,2,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN})
exten => 8372,5,Hangup
@@ -0,0 +1,46 @@
; /etc/asterisk/iax.conf:
; Here is an example of a configuration where there is one IAX phone, one IAX
; server as a friend and one IAX trunk from a service provider (binfone.com)
[general]
bindport=4569
iaxcompat=yes
bandwidth=high
allow=all
allow=gsm ; Always allow GSM, it's cool :)
jitterbuffer=no
tos=lowdelay
register => 1112223333:PASSWORD@iax.binfone.com
[1112223333]
auth=md5
type=friend
username=1112223333
secret=PASSWORD
host=iax.binfone.com
context=incoming-IAX-context-in-extensions.conf
[ASTtest2]
type=friend
accountcode=IAXtrunk2
context=default
auth=plaintext
host=dynamic
permit=0.0.0.0/0.0.0.0
secret=test
disallow=all
allow=ulaw
qualify=yes
[firefly01]
type=friend
accountcode=firefly01
context=default
auth=plaintext
host=dynamic
permit=0.0.0.0/0.0.0.0
secret=test
disallow=all
allow=gsm
qualify=yes
@@ -0,0 +1,6 @@
; /etc/asterisk/logger.conf:
; This is the sample Asterisk Logging configuration file
[logfiles]
console => notice,warning,error
messages => notice,warning,error,debug,verbose
@@ -0,0 +1,27 @@
; /etc/asterisk/manager.conf:
; This is the sample manager API configuration file
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
[cron]
secret = 1234
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user
[updatecron]
secret = 1234
read = command
write = command
[listencron]
secret = 1234
read = system,call,log,verbose,command,agent,user
write = command
[sendcron]
secret = 1234
read = command
write = system,call,log,verbose,command,agent,user
@@ -0,0 +1,76 @@
; /etc/asterisk/meetme.conf:
; This is the sample meetme conferencing configuration file
[rooms]
conf => 8600
conf => 8601,1234
conf => 8600011
conf => 8600012
conf => 8600013
conf => 8600014
conf => 8600015
conf => 8600016
conf => 8600017
conf => 8600018
conf => 8600019
conf => 8600020
conf => 8600021
conf => 8600022
conf => 8600023
conf => 8600024
conf => 8600025
conf => 8600026
conf => 8600027
conf => 8600028
conf => 8600029
conf => 8600051
conf => 8600052
conf => 8600053
conf => 8600054
conf => 8600055
conf => 8600056
conf => 8600057
conf => 8600058
conf => 8600059
conf => 8600060
conf => 8600061
conf => 8600062
conf => 8600063
conf => 8600064
conf => 8600065
conf => 8600066
conf => 8600067
conf => 8600068
conf => 8600069
conf => 8600070
conf => 8600071
conf => 8600072
conf => 8600073
conf => 8600074
conf => 8600075
conf => 8600076
conf => 8600077
conf => 8600078
conf => 8600079
conf => 8600080
conf => 8600081
conf => 8600082
conf => 8600083
conf => 8600084
conf => 8600085
conf => 8600086
conf => 8600087
conf => 8600088
conf => 8600089
conf => 8600090
conf => 8600091
conf => 8600092
conf => 8600093
conf => 8600094
conf => 8600095
conf => 8600096
conf => 8600097
conf => 8600098
conf => 8600099
conf => 8600100
@@ -0,0 +1,61 @@
; /etc/asterisk/sip.conf:
; Here is an example of a configuration where there are three SIP phones
; and one SIP trunk connected
[general]
port = 5060
bindaddr = 0.0.0.0
context = default
; register SIP account on remote machine if using SIP trunks
; register => testSIPtrunk:test@10.10.10.16:5060
;
; setup account for SIP trunking:
; [SIPtrunk]
; disallow=all
; allow=ulaw
; allow=alaw
; type=friend
; username=testSIPtrunk
; secret=test
; host=10.10.10.16
; dtmfmode=inband
; qualify=1000
[gs102]
disallow=all
allow=ulaw
allow=alaw
type=friend
username=gs102
secret=test
host=dynamic
dtmfmode=inband
defaultip=10.10.10.16
qualify=1000
mailbox=102
[spa2000]
disallow=all
allow=ulaw
allow=alaw
type=friend
username=spa2000
secret=test
host=dynamic
dtmfmode=inband
defaultip=10.10.10.17
qualify=1000
mailbox=2000
[spa2001]
disallow=all
allow=ulaw
allow=alaw
type=friend
username=spa2001
secret=test
host=dynamic
dtmfmode=inband
defaultip=10.10.10.17
qualify=1000
mailbox=2001
@@ -0,0 +1,22 @@
; /etc/asterisk/voicemail.conf:
; This is the sample voicemail configuration file
[general]
format=wav49|gsm|wav
serveremail=asterisk
attach=yes
skipms=3000
maxsilence=10
silencethreshold=128
maxlogins=3
[zonemessages]
eastern=America/New_York|'vm-received' Q 'digits/at' IMp
central=America/Chicago|'vm-received' Q 'digits/at' IMp
central24=America/Chicago|'vm-received' q 'digits/at' H 'digits/hundred' M 'hours'
[default]
102 => 102,Grandstream Mailbox,root@localhost
2000 => 2000,Sipura Mailbox 1
2001 => 2001,Sipura Mailbox 2
3001 => 3001,Firefly Mailbox 1
@@ -0,0 +1,46 @@
; /etc/asterisk/zapata.conf:
; Digium/Clone T100P EXAMPLE:
; Here is an example of a configuration where an T100P single T1 card is used
; for connecting a single T1 PRI circuit with 23 voice channels
[channels]
group=1
language=en
signalling=pri_net
usecallerid=yes
callerid=asreceived
callprogress=no
busydetect=no
context=default
echocancel=64
echocancelwhenbridged=yes
rxgain=1.0
txgain=1.0
channel => 1-23
; FOR A RBS WinkStart T1 YOU WOULD USE SOMETHING LIKE THIS:
; group=1
; language=en
; signalling=em_w
; usecallerid=yes
; callerid=asreceived
; context=default
; echocancel=64
; echocancelwhenbridged=yes
; rxgain=1.0
; txgain=1.0
; channel => 1-24
;
; FOR AN ANALOG T1 ChannelBank YOU WOULD USE SOMETHING LIKE THIS:
; group=4
; language=en
; signalling=fxo_ks
; usecallerid=yes
; callerid=asreceived
; context=default
; echocancel=64
; echocancelwhenbridged=no
; rxgain=-1.0
; txgain=-1.0
; channel => 1-24
@@ -0,0 +1,13 @@
; /etc/asterisk/zapata.conf:
; Digium/Clone X100P EXAMPLE:
; Here is an example of a configuration where an X100P single FXO card is used
; for zaptel timing and not used for calling:
;
; NOTE: you can get an X100P on ebay for $10-30 that will work with Asterisk
[trunkgroups]
[channels]
context=unused
signalling=fxs_ks
channel => 1
@@ -0,0 +1,23 @@
; /etc/zaptel.conf:
; Digium/Clone T100P EXAMPLE:
; Here is an example of a configuration where an T100P single T1 card is used
; for connecting a single T1 PRI circuit with 23 voice channels
span=1,1,0,esf,b8zs
bchan=1-23
dchan=24
loadzone = us
defaultzone=us
; FOR A RBS WinkStart T1 YOU WOULD USE SOMETHING LIKE THIS:
; span=1,1,0,esf,b8zs
; e&m=1-24
; loadzone = us
; defaultzone=us
;
; FOR AN ANALOG T1 ChannelBank YOU WOULD USE SOMETHING LIKE THIS:
; span=1,1,0,esf,b8zs
; fxoks=1-24
; loadzone = us
; defaultzone=us
;
@@ -0,0 +1,10 @@
; /etc/zaptel.conf:
; Digium/Clone X100P EXAMPLE:
; Here is an example of a configuration where an X100P single FXO card is used
; for zaptel timing and not used for calling:
;
; NOTE: you can get an X100P on ebay for $10-30 that will work with Asterisk
loadzone=us
defaultzone=us
fxsks=1