From 8505c2901e5bbd51591e6c355465db38a4d68c05 Mon Sep 17 00:00:00 2001 From: mattf Date: Wed, 10 Sep 2008 06:20:02 +0000 Subject: [PATCH] updated docs and example conf files git-svn-id: svn://192.168.202.10@950 3d104415-ff17-0410-8863-d5cf3c621b8a --- .../branches/agc_2.0.4/docs/BASE_INSTALL.txt | 41 +- .../agc_2.0.4/docs/REQUIRED_APPS_INSTALL.txt | 84 +- .../agc_2.0.4/docs/SCRATCH_INSTALL.txt | 6172 +++++++++-------- .../docs/conf_examples/dnsmgr.conf.sample | 6 +- .../docs/conf_examples/extensions.conf.sample | 1028 +-- .../conf_examples/extensions.conf.sample-1.4 | 1028 +-- .../docs/conf_examples/iax.conf.sample | 1616 ++--- .../docs/conf_examples/logger.conf.sample | 6 +- .../docs/conf_examples/manager.conf.sample | 48 +- .../docs/conf_examples/meetme.conf.sample | 430 +- .../conf_examples/musiconhold.conf.sample | 32 +- .../docs/conf_examples/sip.conf.sample | 1448 ++-- .../docs/conf_examples/voicemail.conf.sample | 38 +- .../conf_examples/zapata.conf.t100p.sample | 92 +- .../conf_examples/zapata.conf.x100p.sample | 26 +- .../conf_examples/zaptel.conf.t100p.sample | 46 +- .../conf_examples/zaptel.conf.x100p.sample | 20 +- 17 files changed, 6091 insertions(+), 6070 deletions(-) diff --git a/agc_2-X/branches/agc_2.0.4/docs/BASE_INSTALL.txt b/agc_2-X/branches/agc_2.0.4/docs/BASE_INSTALL.txt index 70ce22de..be9373c9 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/BASE_INSTALL.txt +++ b/agc_2-X/branches/agc_2.0.4/docs/BASE_INSTALL.txt @@ -31,17 +31,17 @@ 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.27.tar.gz -wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.25.tar.gz +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.7.tar.gz -gunzip asterisk-1.2.27.tar.gz -tar xvf asterisk-1.2.27.tar -gunzip zaptel-1.2.25.tar.gz -tar xvf zaptel-1.2.25.tar +gunzip asterisk-1.2.30.2.tar.gz +tar xvf asterisk-1.2.30.2.tar +gunzip zaptel-1.2.27.tar.gz +tar xvf zaptel-1.2.27.tar gunzip libpri-1.2.7.tar.gz tar xvf libpri-1.2.7.tar -cd ./zaptel-1.2.25 -wget http://www.freedomphones.net/files/newt-0.51.6.tar.gz +cd ./zaptel-1.2.27 +wget http://downloads.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 @@ -58,7 +58,7 @@ cd ../libpri-1.2.7 make clean make make install -cd ../asterisk-1.2.27 +cd ../asterisk-1.2.30.2 (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 @@ -73,11 +73,11 @@ cd ../asterisk-1.2.27 wget http://www.eflo.net/files/amd2.conf mkdir /etc/asterisk mv amd2.conf /etc/asterisk/amd.conf - *OPTIONAL*(1.2.23 thru 1.2.27) apply the meetme DTMF passthru patch + *OPTIONAL*(1.2.23 thru 1.2.30.2) apply the meetme DTMF passthru patch 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 - *OPTIONAL*(1.2.12.1 thru 1.2.27) apply the meetme volume control patch + *OPTIONAL*(1.2.12.1 thru 1.2.30.2) apply the meetme volume control patch *Different patches available for 1.2.7.1 through 1.2.14 wget http://www.eflo.net/files/meetme_volume_control_1.2.16.patch patch -p1 < ./meetme_volume_control_1.2.16.patch @@ -89,7 +89,7 @@ cd ../asterisk-1.2.27 patch -p1 < ./cli_chan_concise_delimiter.patch - File to patch: cli.c - *OPTIONAL*(1.2.14 thru 1.2.27) rewrite of waitforsilence + *OPTIONAL*(1.2.14 thru 1.2.30.2) rewrite of waitforsilence wget http://www.eflo.net/files/app_waitforsilence.c mv -f app_waitforsilence.c apps/app_waitforsilence.c @@ -136,7 +136,7 @@ them: 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 +http://downloads.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' @@ -211,7 +211,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://www.freedomphones.net/conf.gsm + http://downloads.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/ @@ -219,7 +219,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://www.freedomphones.net/conf.gsm + wget http://downloads.vicidial.com/sounds/conf.gsm cp conf.gsm park.gsm - you are done @@ -270,11 +270,16 @@ to use our new mysql script file to add the tables to the database: (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; +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'; +GRANT RELOAD ON *.* TO cron@'%'; +GRANT RELOAD ON *.* TO cron@localhost; + +flush privileges; + use asterisk; \. /usr/src/astguiclient/trunk/extras/MySQL_AST_CREATE_tables.sql @@ -467,7 +472,7 @@ PHASE 6: ADDING CRONTAB ENTRIES FOR ASTGUICLIENT/VICIDIAL SCRIPTS 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 +#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 @@ -656,6 +661,8 @@ You may want to reduce the exposure of some of the elements of VICIDIAL. Here ar - Change the WWW writable in the admin.php server settings to "0" - Change the default admin user "6666" or it's password from the default - Change the Default secret(password) for the default SIP and IAX accounts that are set up with astGUIclient +- Change the default password for the Asterisk manager connection in manager.conf then change it in the server modification screen +- Change the default password for the mysql cron user in mysql and change it to match in /etc/astguiclient.conf on each server - Possibly use static IP addresses for the IAX/SIP conf account entries - Change the default port for Apache in httpd.conf from 80 to something else - Change the default port for IAX in iax.conf from 4569 to something else diff --git a/agc_2-X/branches/agc_2.0.4/docs/REQUIRED_APPS_INSTALL.txt b/agc_2-X/branches/agc_2.0.4/docs/REQUIRED_APPS_INSTALL.txt index ce53cf61..d0c948d8 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/REQUIRED_APPS_INSTALL.txt +++ b/agc_2-X/branches/agc_2.0.4/docs/REQUIRED_APPS_INSTALL.txt @@ -148,10 +148,10 @@ cd zlib-1.2.3 make make install cd /usr/local -wget http://gulus.usherbrooke.ca/pub/appl/ssh/OpenSSH/portable/openssh-4.7p1.tar.gz -gunzip openssh-4.7p1.tar.gz -tar xvf openssh-4.7p1.tar -cd openssh-4.7p1 +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 ./configure make make install @@ -188,13 +188,14 @@ make install cd /usr/local -wget http://mirror.candidhosting.com/pub/apache/httpd/httpd-2.0.61.tar.gz -gunzip httpd-2.0.61.tar.gz -tar xvf httpd-2.0.61.tar -wget http://us2.php.net/distributions/php-4.4.8.tar.gz -gunzip php-4.4.8.tar.gz -tar xvf php-4.4.8.tar -cd httpd-2.0.61 +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 +gunzip php-5.2.6.tar.gz +tar xvf php-5.2.6.tar +cd httpd-2.2.8 +make clean ./configure --prefix=/usr/local/apache2 --enable-ssl --enable-setenvif --enable-so --with-apxs2 --enable-dav --enable-maintainer-mode make make install @@ -207,8 +208,9 @@ 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-4.4.8 -./configure --with-mysql=/usr/local/mysql --enable-inline-optimization --enable-memory-limit --enable-track-vars --enable-libgcc --with-xml --enable-versioning --enable-sysvsem --with-openssl --disable-debug --with-apxs2=/usr/local/apache2/bin/apxs --with-zlib +cd ../php-5.2.6 +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 make install cp php.ini-dist /usr/local/lib/php.ini @@ -217,9 +219,9 @@ vi /usr/local/apache2/conf/httpd.conf add the following lines: "AddType application/x-httpd-php .php .phtml" - "LoadModule php4_module libexec/libphp4.so" + "LoadModule php5_module modules/libphp5.so" or - "LoadModule php4_module module/libphp4.so" + "LoadModule php5_module modules/libphp5.so" modify the index.html line and add index.php to the list to disable logging, change: @@ -250,10 +252,8 @@ vi /usr/local/apache2/conf/httpd.conf vi /usr/local/lib/php.ini - modify the following line: - "memory_limit = 8M" - and change it to: - "memory_limit = 48M" + Make sure short tags are enabled: + "short_open_tag = On" some other fields to change if using web-based lead loader: max_execution_time = 330 @@ -277,7 +277,7 @@ vi /usr/local/lib/php.ini Add the following lines to the dynamic extensions section of php.ini: (you may need to change the extension location depending on your install of php) -extension="../../../usr/local/eaccelerator-0.9.5/modules/eaccelerator.so" +zend_extension="../../../usr/local/eaccelerator-0.9.5/modules/eaccelerator.so" eaccelerator.shm_size="48" eaccelerator.cache_dir="/tmp/eaccelerator" eaccelerator.enable="1" @@ -292,9 +292,9 @@ eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9" - mkdir /tmp/eaccelerator chmod 0777 /tmp/eaccelerator +ls -l /tmp/eaccelerator php -v /usr/local/apache2/bin/apachectl startssl @@ -335,17 +335,17 @@ make install mkdir /usr/src/asterisk cd /usr/src/asterisk -wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.27.tar.gz -wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.24.tar.gz +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.7.tar.gz -gunzip asterisk-1.2.27.tar.gz -tar xvf asterisk-1.2.27.tar -gunzip zaptel-1.2.24.tar.gz -tar xvf zaptel-1.2.24.tar +gunzip asterisk-1.2.30.2.tar.gz +tar xvf asterisk-1.2.30.2.tar +gunzip zaptel-1.2.27.tar.gz +tar xvf zaptel-1.2.27.tar gunzip libpri-1.2.7.tar.gz tar xvf libpri-1.2.7.tar -cd ./zaptel-1.2.24 -wget http://www.freedomphones.net/files/newt-0.51.6.tar.gz +cd ./zaptel-1.2.27 +wget http://downloads.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 @@ -362,7 +362,7 @@ cd ../libpri-1.2.7 make clean make make install -cd ../asterisk-1.2.27 +cd ../asterisk-1.2.30.2 cd apps wget http://www.eflo.net/files/app_amd2.c mv app_amd2.c app_amd.c @@ -504,24 +504,24 @@ rm -f /usr/lib/asterisk/modules/res_speech.so mkdir /usr/src/asterisk-1.4 cd /usr/src/asterisk-1.4 -wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.4.18.tar.gz -wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.4.8.tar.gz -wget http://ftp.digium.com/pub/libpri/releases/libpri-1.4.3.tar.gz -gunzip asterisk-1.4.18.tar.gz -tar xvf asterisk-1.4.18.tar -gunzip zaptel-1.4.8.tar.gz -tar xvf zaptel-1.4.8.tar -gunzip libpri-1.4.3.tar.gz -tar xvf libpri-1.4.3.tar -cd ./zaptel-1.4.8 +wget http://ftp.digium.com/pub/asterisk/releases/asterisk-1.4.21.1.tar.gz +wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.4.11.tar.gz +wget http://ftp.digium.com/pub/libpri/releases/libpri-1.4.4.tar.gz +gunzip asterisk-1.4.21.1.tar.gz +tar xvf asterisk-1.4.21.1.tar +gunzip zaptel-1.4.11.tar.gz +tar xvf zaptel-1.4.11.tar +gunzip libpri-1.4.4.tar.gz +tar xvf libpri-1.4.4.tar +cd ./zaptel-1.4.11 ./configure make make install -cd ../libpri-1.4.3 +cd ../libpri-1.4.4 make clean make make install -cd ../asterisk-1.4.18 +cd ../asterisk-1.4.21.1 wget http://www.eflo.net/files/enter.h wget http://www.eflo.net/files/leave.h mv -f enter.h apps/enter.h diff --git a/agc_2-X/branches/agc_2.0.4/docs/SCRATCH_INSTALL.txt b/agc_2-X/branches/agc_2.0.4/docs/SCRATCH_INSTALL.txt index 874d4847..35198ba3 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/SCRATCH_INSTALL.txt +++ b/agc_2-X/branches/agc_2.0.4/docs/SCRATCH_INSTALL.txt @@ -1,3079 +1,3093 @@ -Asterisk/astguiclient install from scratch. v.2.0.4.1 2008-04-XX - By the VICIDIAL group info@vicidial.com - -**** IMPORTANT - In order for vicidial/astguiclient to function correctly please -read the REQUIREMENTS.txt for a minimum requirements list. *** - -End-user Manuals for Agents and Managers are available from http://www.eflo.net - - -This document is meant to be a very in-depth step-by-step explanation of -installing the Asterisk open-source PBX on a Linux system and also installing -the astGUIclient suite. The instructions will assume starting from nothing and -will try to give several side step instructions to account for some differences -in choices of hardware and software. - -The actual installation that I am doing as I write these instructions will be on -the following hardware: - - - Pentium 3 500MHz - - Intel motherboard D815BN - - 256MB PC133 RAM - - 80GB IBM deskstar 7200RPM Hard Drive - - Digium Wildcard Single Span T1 Card T100P - - 2U rackmount case with 250W power supply - - Phone hardware will be a Grandstream BT102 and a Sipura SPA-2000 because they -are so cheap and readily available - -All of these parts, aside from the Digium card and the two SIP VOIP devices, -were purchased from ebay and the entire package(with the two VOIP devices and -all server hardware included) cost me about $1100 to put together including the -phones and Digium adapter. - -We have many other Asterisk servers at our main office, but this one can be -experimented with easily because it was so cheap to make and has a relatively -small capacity when compared with a multi-processor server with a quad span T1 -card. - -This is our test Asterisk server and functions well for a dozen or so extensions -in use if it were to be used in production. A size that is optimal for many -small offices operating with a fractional data/voice T1 for instance. - -For hardware you can use almost any Pentium-class processor(PII, PIII, Athlon, -Xeon, etc), and you can use any digium telco interface card. Both of these -choices will determine what the capacity of your Asterisk server will be. If you -want to do simple IVR or conference calling and a few extensions, then a PIII -with a single Digium T1 card will work just fine for you. If you want to use the -VICIDIAL application, you will want to get as high-powered of a machine as you -can afford and get a digium quad-span T1 card. - -The following is assumed for these installation procedures: -- You have access to a CD burner and 3 blank CDs -- You have some sort of broadband internet connection -- You understand basic linux commands and can use a file editor like vi -- You have all of the necessary hardware: - - a pentium-class computer - - a digium telco interface card with appropriate telco lines - - at least 1 SIP VOIP device - - a Local Area Network(LAN) with extra ports enough for the new server -and the number of phones you want - - - - - -PHASE 1: INSTALLING AN OPERATING SYSTEM - - -This installation will be using Slackware 11 for the linux distribution, -Slackware 12.X will also work with these instructions. There are several easier -linux distributions and there are others that are more popular, but Slackware is -a nice non-commercial distro that has been around for a long time and proven -itself to be a very uncluttered and stable platform for development. - -1. Go to http://www.ultimatebootcd.com/ , download the latest bootcd and -burn it to a CD. This will be needed to partition the hard drive prior to -installation of Slackware linux. The latest version as of this writing is 4.1 -(If you have problems with your hardware booting some of the utilities with 4.1 -I suggest trying 1.7, that version has older utilities, but still gets the job -done and works on every machine I've tried it on). - -2. Insert the ultimatebootcd you just burned into your CDROM drive and boot -to it. You will select "filesystem utilities" and then "XFDISK" - -3. Select any old partitions and delete them and then create 2 new -partitions: - - 70000 MB, select yes to validate, change partition type to "Linux Native" - - 3332 MB, select yes to validate, change partition type to "Linux Swap" - - 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 -or 1 DVD. Download both installation disks from any close server listed on the -download page and burn them both to CDs. - -5. Insert Disk 1 of the Slackware installation CD and boot your computer. -If you have a simple computer with just an IDE drive just hit enter at the boot: -prompt. If you have other hard drive adapters(SCSI/RAID/SATA/etc..) you will -need to look at the Slackware installation help page to determine what boot -image you will need to use to install Slackware correctly. - -6. Login as root and type "setup" at the prompt to go to the setup menu. -7. Go to ADDSWAP and hit Enter -8. Select the swap partition you just created and hit Yes, The swap -partition will then be formatted -9. Select the root partiton you just created as Linux Native and hit -Select, then select "ext3" for the file system, then select 4096 for the inodes -and the root partition will then be formatted -10. Select "Install Slackware from a CD" and hit OK -11. Select "auto" installation and hit OK -12. Select every package except for "KDEI" and hit OK -13. Select "full" installation and hit OK -14. Insert the next Slackware installation disk (disk 2) when it prompts -you, and hit OK to continue -15. Now you will select the boot kernel that you will use from now on. If -you have a simple system with IDE drives you can probably just select "skip" and -go to the next step. If not then you should probably select "cdrom" and select -the kernel from the list that you selected to boot into the installation. -16. You can make a bootdisk if you like, but you don't have to. -17. For Modem you can select "no modem" and hit OK to continue -18. Enable hotplug, hit Yes to continue -19. Install lilo "simple" and hit OK to continue -20. lilo frame buffer console 640x480 is safe choice if you're not sure -21. Optional Lilo append, leave blank and hit OK to continue -22. Lilo destination, I usually choose MBR but root works most of the time -23. Mouse, select the mouse type that you have hooked up, or select ps/2 -24. Load GPM at boot time, Hit Yes to continue -25. select Yes to configure your network -26. Hostname, we are typing "phone" -27. network, we are typing our local domain name -28. IP address, we are selecting Static IP, here's what we enter for -network, you should enter a network setup that will work with your local LAN: - - IP address: 10.10.10.15 - - subnet: 255.255.0.0 - - gateway: 10.10.10.1 - - name server: 10.10.10.1 -29. Accept your network settings -30. Startup services to run, change nothing and select OK to continue -31. select NO for custom screen fonts -32. Hardware clock to UTC, select NO -33. Select your time zone and hit OK -34. I usually select gnome as the window manager, even though you won't be -using it on this machine -35. Select Yes to enter a root password. type something that you will -remember. -36. Setup of Slackware Linux is complete, hit OK and EXIT then press -CTRL-ALT-DELETE to reboot your computer - - - - - -PHASE 2: COMPILING A CUSTOM LINUX KERNEL - - -From this step on you should be able to continue the installation remotely -although it is wise to at least have quick access to the machine if something -goes wrong. - -To connect remotely through SSH on linux type "slogin serveripaddress" or to use -Windows to connect you can use a piece of free software called putty available -here: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html -Also, for windows you can use SSH file transferring(SFTP) with a program called -filezilla: http://filezilla.sourceforge.net/ - -This is an optional step if your linux system is running, but compiling your own -custom kernel is always a way to optimize your system for the hardware you have -installed or a way to remove the unnecesary modules that are in the default -kernel. You will definately want to build your own kernel if you have a multi -processor machine. If you are new to Linux you probably do not want to do this. - -If you are using a newer Digium Octasic-based echo-cancellation quad T1/E1 card -then you need to use a 2.6 Linux kernel in order to use the echo-cancellation -functionality of the card. - -If you want to compile a 2.6 kernel then start with OPTION 1, otherwise to -compile the 2.4 kernel that comes with Slackware(2.4.33) start with OPTION 2: - -OPTION 1: compile Linux kernel 2.6.17 *RECOMMENDED* - -1. cd /usr/src -2. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.11.tar.gz -3. gunzip linux-2.6.17.11.tar.gz -4. tar xvf linux-2.6.17.11.tar -5. mv -f /usr/src/linux /usr/src/linux-old -6. ln -s /usr/src/linux-2.6.17.11 /usr/src/linux -7. cd linux -8. make mrproper # prep for kernel assembly -9. make menuconfig # launch configuration menu app - (this part is very dependant upon your own hardware) - (what is mentioned below are only changes beyond what is selected by default) - - Block Layer ---> - -> IO Scheduler - this should be set to CFQ if you do not have a hardware caching controller - if you have a hardware caching controller DEADLINE or NO-OP are the best - choices, if you have a battery backuped caching controller that is set to write-back you should use NO-OP. - Processor Type and Features ---> - ->Symmetric multi-processing support - (if you have multiple processors or a Dual-core or HT enabled) - ->High Memory Support - (if you have more than 900MB of System RAM move upto 4GB) - ->Timer frequency (1000 HZ) - (change to 1000Hz if using ztdummy for timer on pre 2.6.17 kernel) - ->[*]Tickless System (enable UNLESS using ztdummy on pre 2.6.17 kernel) - ->[*]Enable Kernel irq balancing - ->Preemption Model (No Forced Preemption (Server)) - (^This one is very important!!!) - Power management options (ACPI, APM) ---> - ->ACPI (Advanced Configuration and Power Interface) Support - (enable all down to Processor and thermal zone) - Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> - ->[*] PCI Express support - (if using Sangoma PCI Express card) - Networking ---> - Amateur Radio support ---> - <*> Amateur Radio AX.25 Level 2 protocol - [*] AX.25 DAMA Slave support - <*> Amateur Radio NET/ROM protocol - <*> Amateur Radio X.25 PLP (Rose) - (all needed for new Digium Octasic drivers) - Device Drivers ---> - ATA/ATAPI/MFM/RLL support ---> - <*> SCSI emulation support - (needed for SATA drives, also further down check chipset drivers) - SCSI device support ---> - <*> RAID Transport Class - (needed if you are using a RAID) - SCSI low-level drivers ---> - <*> Serial ATA (SATA) support - (required if using SATA drives) - (if using a SCSI RAID card pick correct driver here) - Multi-device support (RAID and LVM) ---> - (select proper RAID types if using Linux RAID) - Network device support ---> - Ethernet (10 or 100Mbit) ---> - Ethernet (1000 Mbit) ---> - (select proper drivers for the eype of network card you have) - Character devices ---> - <*> Enhanced Real Time Clock Support - (double-check that this is enabled, very important) - Real Time Clock ---> - <*> RTC class - (double-check that this is enabled, very important) - File systems ---> - <*> Ext3 journalling file system support - (important if using ext3 filesystem) - pseudo filesystems ---> - <*> Virtual memory file system support - (this is usually checked anyway but mandatory for recording to RAM[tmpfs]) - Library routines ---> - <*> CRC-CCITT functions - <*> CRC16 functions - <*> CRC32c (Castagnoli, et al) Cyclic Redundancy-Check - (important for new Digium Octasic drivers) - EXIT AND SAVE YOUR CONFIGURATION - -10. make clean # clean up the kernel build areas -11. make bzImage # create a kernel bzImage -12. make modules # build the modules into the image -13. make modules_install # install kernel modules -14. cp arch/i386/boot/bzImage /boot/bzImage-XXXX # copy image - (put whatever you want in XXXX, that is your new kernel name) -15. cp System.map /boot/System.map-XXXX # copy system map -16. mv -f /boot/System.map /boot/System.map-orig -17. ln -s /boot/System.map-XXXX /boot/System.map # symlink map -18. vi /etc/lilo.conf # edit the lilo boot config file - image=/boot/bzImage-XXXX # add the new image in above- - label=test-XXXX # the previous one - root=/dev/hda1 # device of root partition - read-only -19. /sbin/lilo # run the lilo reload script -20. vi /etc/fstab # to include the following line for recording to RAM - tmpfs /var/spool/asterisk/monitor tmpfs rw 0 0 -21. shutdown -r 0 # reboot machine and hope it worked - -OPTION 2: compile Linux kernel 2.4.33.3 (not recommended, very old) - -1. cd /usr/src/linux # move to your linux source directory -2. cp .config config.save # copy old config to a save file -3. make mrproper # prep for kernel assembly -4. make menuconfig # launch configuration menu app - (this part is very dependant upon your own hardware) - enable processor version # select the processor that you have - enable SMP # if more than 1 processor or Intel HT - enable high memory () # if more than 1GB of RAM - enable SCSI Multiple # if SCSI drives - enable SCSI devices AMI Megaraid # if SCSI Megaraid adapter - enable 3com network devices # if 3com network card - enable ext3 file system # for ext3 to work - enable all ACPI options # for SMP to work - enable Enhanced Real Time Clock Support in Character devices section - # for SMP to work - enable any other hardware specific options - exit and save configuration -5. make dep # build the kernel dependancies -6. make clean # clean up the kernel build areas -7. make bzImage # create a kernel bzImage -8. make modules # build the modules into the image -9. make modules_install # install kernel modules -10. # nothing# mkinitrd /boot/initrd-XXXXXX.img XXXXXX *not needed on Slackware* -11. cp arch/i386/boot/bzImage /boot/bzImage-XXXXXX # copy image - (put whatever you want in XXXXXX, that is your new kernel name) -12. cp System.map /boot/System.map-XXXXXXN # copy system map -13. mv -f /boot/System.map /boot/System.map-orig -14. ln -s /boot/System.map-XXXXXX /boot/System.map # symlink map -15. vi /etc/lilo.conf # edit the lilo boot config file - image=/boot/bzImage-XXXXXX # add the new image in above- - label=test-XXXXXX # the previous one - root=/dev/hda1 # device of root partition - read-only -16. /sbin/lilo # run the lilo reload script -17. shutdown -r 0 # reboot machine and hope it worked - - -After compiling your kernel you can run a few commands to verify that you are -running your new kernel and that devices are running as they are supposed to: - ps --info (will show you your linux kernel version and other info) - cat /proc/cpuinfo (will show you processor type and more than one if SMP) - top (will show you system memory) - - - - -PHASE 3: INSTALLING SOFTWARE BEFORE ASTERISK - -In this step we will be installing software that Asterisk and/or astGUIclient -needs to be able to function to its fullest ability. Not all of these software -packages are manditory to successfully install Asterisk and some of them can be -installed on other machines on your network like MySQL or Apache. But, in this -installation we are assuming that there are no other machines on our network to -help the Asterisk server, so it must have everything it needs installed locally. - - - -SUBPHASE 3.0: install new Gnu Make - -A new version of the "make" compilation application replaced the 4-year-old -version that most Linux distros(Including Slackware) use. This is only needed -if you will be building Asterisk from the 1.4 release tree. - - - wget http://mirrors.kernel.org/gnu/make/make-3.81.tar.gz - - gunzip make-3.81.tar.gz - - tar xvf make-3.81.tar - - cd make-3.81 - - ./configure - - make - - make install - - - -SUBPHASE 3.1: MySQL requirements - -You must at least have Mysql client installed on each VICIDIAL server, but you -only need one database server. - -MySQL is a fast database system that is very easy to integrate with any -application. You can either install the server on the local Asterisk system or -have one somewhere on your network. For our purposes, we are creating an Asterisk -installation that is self contained and needs no other local servers to operate, -so we will need to install mysql on this machine. -*REQUIRED and OPTIONAL* (only install MySQL server locally if you don't want to use an installation -on another machine, Mysql client is required on all VICIDIAL servers) -NOTE: a minimum of MySQL server 4.0.X is required - - 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 - - groupadd mysql - - useradd -g mysql mysql - - "./configure --prefix=/usr/local/mysql --enable-large-files --enable-shared=yes --with-readline" - **** 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 - - 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 - - /usr/local/mysql/bin/mysqld_safe --user=mysql --skip-name-resolve --skip-host-cache & - - ln -s /tmp/mysql.sock /var/run/mysql/mysql.sock - **** 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/ - - you are done - - ** INSTALLATION NOTE ** - If you are having Linuxthreads problems upon onfigure, just execute the following command: - echo '/* Linuxthreads */' >> /usr/include/pthread.h - - ***** NOTE: if you will be using any of the DBI perl scripts: ***** - Every machine that you will be using the newer BDI perl scripts on will need - to have the perl modules DBI and DBD::mysql installed on them. To do this - you will also need to at least have the MySQL client installed on the server - (see above) then you will need to go to 'cpan' and "install DBI" and - "install DBD::mysql". You may need to "force install DBD::mysql" if the DBD - tests fail on your first try, but that is OK since the tests are not needed - - - -SUBPHASE 3.2: Installing Perl Modules - -NOTE - you can install ActiveState http://www.activestate.com perl which may -improve performance, but it is not required. Here's the source for ActiveState -Perl 5.8: (it's free) - http://downloads.activestate.com/ActivePerl/src/5.8/AP817_source.tgz -I hope to add the lengthy steps for installing it as your default perl on your -server but I need some time and a free machine to do that. - -cpan is the "Comprehensive Perl Archive Network". It's a mirrored archive of -most of the perl modules out there complete with a installation and management -command-line interface. Here's what you do to start it: -*REQUIRED* (needed for perl AGIs) - -1. perl -MCPAN -e shell # type in the command line -2. You will then go through CPAN setup, just hit ENTER for most prompts except -for the mirrors list, you will want to select at least 4 mirrors - - yes for manual configuration - - enter for the next 18 prompts - - for the "make install options" it's a good idea to add UNINST=1 - - enter for the next 4 prompts - - select your continent and country - - select a few cpan mirrors - - enter for the next 2 prompts -3. Once you see the cpan> prompt you can begin installing modules -4. If you've never installed cpan before you should probably install the -following modules first: (say YES if asked to install prerequisites) - - install MD5 - - install Digest::MD5 - - install Digest::SHA1 - - install readline (just hit Enter when it asks for operator) - - install Bundle::CPAN - - reload cpan -- then you can install other modules: - - install DBI - - force install DBD::mysql (must at least have mysqlclientlibs installed) - - install Net::Telnet - - install Time::HiRes - - install Net::Server - - install Unicode::Map (needed for super list loader Excel) - - install Jcode (needed for super list loader Excel) - - install Spreadsheet::WriteExcel (needed for super list loader Excel) - - install OLE::Storage_Lite (needed for super list loader Excel) - - install Proc::ProcessTable (needed for super list loader Excel) - - install IO::Scalar (needed for super list loader Excel) - - install Spreadsheet::ParseExcel (needed for super list loader Excel) -- then quit cpan, you are done -5. Go to http://asterisk.gnuinter.net/ and download the asterisk-perl module -(backup link: http://www.freedomphones.net/files/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 - - wget http://asterisk.gnuinter.net/files/asterisk-perl-0.08.tar.gz - - gunzip asterisk-perl-0.08.tar.gz - - tar xvf asterisk-perl-0.08.tar - - cd asterisk-perl-0.08 - - perl Makefile.PL - - make all - - make install - - you are done - - - -SUBPHASE 3.3: Installing other utilities - -Sox is an audio utility that allows you to mix audio files together at their -start point into one file. it is necessary for Asterisk recordings that record -in and out as separate files -*REQUIRED* (needed for recording mixing) - -1. Go to http://sourceforge.net/projects/sox/ and download the sox package - - to install this directly on the command line type: - - cd /usr/local - - cd /usr/local - - wget http://easynews.dl.sourceforge.net/sourceforge/sox/sox-14.0.1.tar.gz - - gunzip sox-14.0.1.tar.gz - - tar xvf sox-14.0.1.tar - - cd sox-14.0.1 - - ./configure --disable-shared - - make (if alsa.o errors add --disable-alsa-dsp to configure and redo) - - make install - - you are done - - -LAME is an MP3 encoder used to convert audio files from WAV to MP3. We prefer GSM -usually, but some users have standardized on MP3 so they would need this utility -to be loaded to use that option. -*OPTIONAL* (only needed if you will be converting recordings to MP3) - -2. Go to http://lame.sourceforge.net/ and download the lame package - - to install this directly on the command line type: - - cd /usr/local - -wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.96.1.tar.gz - -gunzip lame-3.96.1.tar.gz - -tar xvf lame-3.96.1.tar - -cd lame-3.96.1 - -./configure - -make - -make install - - you are done - - - -Screen is a terminal emulator that allows you to run a process as command line -and be able to detach from them('Ctrl+a' then 'd') and log all output of the -terminal to a screenlog file if desired(add a '-L' to the launching command). -In our installations this is how we launch Asterisk upon startup and still have -the ability to log output and still attach to the screen that executed asterisk -originally. -*REQUIRED* *MANDITORY FOR VICIDIAL SERVERS* - -3. Go to http://www.gnu.org/software/screen/ and download the screen package - - to install this directly on the command line type: - - cd /usr/local - - wget http://ftp.gnu.org/gnu/screen/screen-4.0.2.tar.gz - or for older version: - - wget http://mirrors.kernel.org/gnu/screen/screen-3.9.15.tar.gz - - gunzip screen-4.0.2.tar.gz - - tar xvf screen-4.0.2.tar - - cd screen-4.0.2 - - ./configure - - make - - make install - - you are done - - -ttyload is a simple terminal application that shows the processor load in a -graphical time-based scrolling graph. We use it to view how loaded the system is -and it visualizes load spikes very well -*OPTIONAL* (only for obsessive admins like me) - -4. Go to http://www.daveltd.com/src/util/ttyload/ and download the ttyload -package - - to install this directly on the command line type: - - cd /usr/local - - wget http://www.daveltd.com/src/util/ttyload/ttyload-0.4.4.tar.gz - - gunzip ttyload-0.4.4.tar.gz - - tar xvf ttyload-0.4.4.tar - - cd ttyload-0.4.4 - - make - - ln -s /usr/local/ttyload-0.4.4/ttyload /usr/bin/ttyload - - you are done - - -ntpd is the network time protocol daemon that matches the time on your machine -with the time of a master server somewhere in the world. We use it to make sure -the time is the same on our client computers and our servers. -*MANDITORY FOR VICIDIAL SERVERS* (install on server and all clients) - -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/ntp-4.2/ntp-4.2.2p3.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-4.2.2p3.tar.gz - - tar xvf ntp-4.2.2p3.tar - - cd ntp-4.2.2p3 - - ./configure - - make - - make install - - vi /etc/ntp.conf (change to just 1 line: "server 18.145.0.30") - - cp /etc/ntp.conf /etc/ntpd.conf # just to be sure - - /usr/local/bin/ntpdate -u 18.145.0.30 # initial sync - - /usr/sbin/ntpd # run it - - you are done - - -iftop is a good console bandwidth visualization tool that shows you active -connections, where they are going to/from and how much of your precious bandwidth -they are using. *OPTIONAL* -NOTE: another good network analysis utility is "iptraf" and is on most system - -6. Go to http://www.ex-parrot.com/~pdw/iftop/ and download the package - - to install this directly on the command line type: - - cd /usr/local - - wget http://www.tcpdump.org/release/libpcap-0.9.4.tar.gz - - gunzip libpcap-0.9.4.tar.gz - - tar xvf libpcap-0.9.4.tar - - cd libpcap-0.9.4 - - ./configure - - make - - make install - - cd /usr/local - - wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz - - gunzip iftop-0.17.tar.gz - - tar xvf iftop-0.17.tar - - cd iftop-0.17 - - ./configure - - make - - make install - - iftop - - you are done - - -ploticus is a free graph creation package that allows you to create line graphs -within PNG files simply by creating a config file and a data file. We use this -package along with the included PHP script to generate server performance graphs -that can be displayed real-time on a web page. -*OPTIONAL* (only needed for server performance graphing web reports) - -7. Go to http://ploticus.sourceforge.net/ and download the package - - to install this directly on the command line type: - NOTE: you may have to edit the Makefile to remove X11 if you don't have it - - cd /usr/local - - wget http://superb-west.dl.sourceforge.net/sourceforge/ploticus/pl240src.tar.gz - - gunzip pl240src.tar.gz - - tar xvf pl240src.tar - - cd pl240src/src/ - - make clean - - make - - make install - - you are done - NOTE: uncomment these lines to compile on systems without X11(v232): - NOXFLAG = -DNOX11 - XLIBS = - XOBJ = - NOTE: for the graphics to work on the AST_server_performance page you will - need the 'pl' script to be linked or copied into your htdocs/vicidial/ploticus directory - NOTE: you may need to edit the Makefile for ploticus if you do not have X11 - - -openssh is a remote login protocol server that is always a good idea to have -updated on your system, so we're going to install a new version now. -*OPTIONAL* (only updated as a precaution, not manditory) - [NOTE: newer zlib is needed before installing] - -8. Go to http://www.openssh.org/ and download the linux source for openssh - - to install this directly on the command line type: - - cd /usr/local - - wget http://www.zlib.net/zlib-1.2.3.tar.gz - - gunzip zlib-1.2.3.tar.gz - - tar xvf zlib-1.2.3.tar - - cd zlib-1.2.3 - - ./configure - - make - - make install - - cd /usr/local - - wget http://gulus.usherbrooke.ca/pub/appl/ssh/OpenSSH/portable/openssh-4.7p1.tar.gz - - gunzip openssh-4.7p1.tar.gz - - tar xvf openssh-4.7p1.tar - - cd openssh-4.7p1 - - ./configure - - make - - make install - - you are done - - -openssl is the open-source SSL libraries package, and to install a fake SSL cert -locally and have it work with apache, you need it installed on your machine -*OPTIONAL* (only install openssl if you want to use SSL secured web pages on -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 - - ./config - - make - - make install - - you are done - - -apache is a web server that allows you to use many different modules with it to -extend it's functionality. In order to use some of the astguiclient -functionalities we need to have Apache and PHP installed on this machine. -*OPTIONAL* (only install Apache and PHP locally if you don't want to use an -installation on another machine) - -10. Go to http://www.apache.org/ and download the apache unix source - 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.0.61.tar.gz - - gunzip httpd-2.0.61.tar.gz - - tar xvf httpd-2.0.61.tar - - wget http://us2.php.net/distributions/php-4.4.8.tar.gz - NOTE: PHP 5.1.1 has also been tested with this release - - gunzip php-4.4.8.tar.gz - - tar xvf php-4.4.8.tar - - cd httpd-2.0.61 - - ./configure --enable-so --with-apxs2 - - make - - make install - - cd ../php-4.4.8 - - ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql - - make - - make install - - cp php.ini-dist /usr/local/lib/php.ini - NOTE: you will want to make sure NOTICE logging is turned off: - error_reporting = E_ALL & ~E_NOTICE ; (this is default) -!!! REQUIRED !!! raise the memory limit for scripts in php.ini: - memory_limit = 48M - some other fields to change if using web-based lead loader: - max_execution_time = 330 - max_input_time = 360 - post_max_size = 48M - upload_max_filesize = 42M - default_socket_timeout = 360 - - - vi /usr/local/apache2/conf/httpd.conf - add the following lines: - "AddType application/x-httpd-php .php .phtml" - "LoadModule php4_module libexec/libphp4.so" - or - "LoadModule php4_module modules/libphp4.so" - modify the index.html line and add index.php to the list - - to disable logging, change: - "CustomLog logs/access_log common" - to this: - "CustomLog /dev/null common" - - to enable web browsing of Recordings on Asterisk server, add this: - Alias /RECORDINGS/ "/var/spool/asterisk/monitorDONE/" - - - Options Indexes MultiViews - AllowOverride None - Order allow,deny - Allow from all - - - - /usr/local/apache2/bin/apachectl start - - go to http://your-new-asterisk-server-ipaddress/ to see if it worked - - you are done - NOTE: If using PHP5 you may need to add the following line to php.ini: - short_open_tag = On - - OPTIONAL- Load eaccelerator PHP-caching application: - - 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 - - export PHP_PREFIX="/usr/local" - - $PHP_PREFIX/bin/phpize - - ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config - - make - - make install - - vi /usr/local/lib/php.ini - Add the following lines to the dynamic extensions section of php.ini: - (you may need to change the extension location depending on your install of php) - extension="../../../usr/local/eaccelerator-0.9.5/modules/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 - # to verify installation: - - php -v - - - - -balance is a load-balancing application for Linux that will allow you to spread -the load of your web traffic across many servers. If you are running more than -70 agents on a single server you may want to install this application and build -another cheap web server to handle the extra load. -*OPTIONAL* - -11. Go to http://balance.sourceforge.net to download the most recent source version - - to install this directly on the command line type: - - cd /usr/local - - wget http://voxel.dl.sourceforge.net/sourceforge/balance/balance-3.34.tgz - - gunzip balance-3.34.tgz - - tar xvf balance-3.34.tar - - cd balance-3.34 - - make - - make install - - /usr/sbin/balance -f 81 localhost:80 10.10.10.16:80 - That command will take port 81 traffic and send it evenly to the local - server and the 10.10.10.16 server reducing the load and speeding up - the applications. More info on balance: http://www.inlab.de/balance.pdf - - -subversion is the new code control framework use by the Asterisk community. If -you want to use the latest development code of Asterisk you will need to have -this loaded on your system. -*OPTIONAL* - -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 - - ./configure - - make - - make install - - -mtop is a great utility for real-time monitoring of mysql and the queries that -are running in it. -*OPTIONAL* - 13. Go to http://mtop.sourceforge.net to download the most recent version - - to install this directly on the command line type: - - cd /usr/local - - wget http://superb-east.dl.sourceforge.net/sourceforge/mtop/mtop-0.6.6.tar.gz - - gunzip mtop-0.6.6.tar.gz - - tar xvf mtop-0.6.6.tar - - cd mtop-0.6.6 - - cpan - - install Curses - - install Getopt::Long - - install Net::Domain - - quit - - perl Makefile.PL - - make - - make install - - /usr/local/bin/mtop --dbuser=root --seconds=3 - - -sipsak is an optional utility that VICIDIAL can use to send messages to an -agent's SIP-based phone(like the Snom 320) to display text on their LCD screen. -If you want to use this, make sure it is installed on the same server that your -web server is installed on(Apache). -*OPTIONAL* - 14. Go to http://sipsak.org to download the most recent version - - to install this directly on the command line, type: - - cd /usr/local - - wget http://download.berlios.de/sipsak/sipsak-0.9.6-1.tar.gz - - gunzip sipsak-0.9.6-1.tar.gz - - tar xvf sipsak-0.9.6-1.tar - - cd sipsak-0.9.6-1 - - ./configure - - make - - make install - - /usr/local/bin/sipsak --version - - - - - -PHASE 4: INSTALLING ASTERISK - -OK, all the prep work is done, now it's time to start having fun with Asterisk. -There are two basic ways to install Asterisk, an official release(at the time of -this writing the official release is 1.2.27) and the SVN_DEV version(development -branch). We recommend using Asterisk 1.2.27. 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. - -NOTE: If you want to use Asterisk 1.4, you will need to make sure that you set -the servers table "asterisk_version" field to the proper version number and you -can use the docs/conf_examples/extensions.conf.sample-1.4 file for your default -dialplan - -NOTE: If you want to use release 1.0.8 or 9 we would recommend either using the -CVS_v1-0 branch where the issues are fixed, or patching your 1.0.8/1.0.9 code -with the following patch: -(http://astguiclient.sourceforge.net/experimental_code/localmasq.patch) -- If you do patch your system make sure you put the asterisk version - field for the server on the admin pages as '1.0.11.1' - -1. follow these command line steps: - - 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.27.tar.gz - - wget http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.24.tar.gz - - wget http://ftp.digium.com/pub/libpri/releases/libpri-1.2.5.tar.gz - - gunzip asterisk-1.2.27.tar.gz - - tar xvf asterisk-1.2.27.tar - - gunzip zaptel-1.2.24.tar.gz - - tar xvf zaptel-1.2.24.tar - - gunzip libpri-1.2.5.tar.gz - - tar xvf libpri-1.2.5.tar - B. if you want latest SVN_1.2 version (release tree with new patches) - - svn checkout http://svn.digium.com/svn/asterisk/branches/1.2 asterisk-1.2 - - svn checkout http://svn.digium.com/svn/zaptel/branches/1.2 zaptel-1.2 - - svn checkout http://svn.digium.com/svn/libpri/branches/1.2 libpri-1.2 - C. if you want latest SVN_DEV version (not recommended) [1.6 tree] - - svn checkout http://svn.digium.com/svn/asterisk/trunk asterisk - - svn checkout http://svn.digium.com/svn/zaptel/trunk zaptel - - svn checkout http://svn.digium.com/svn/libpri/trunk libpri - - ALL -> - - (1.0 tree)if you want to allow for more than 100 voicemail messages in a - mailbox(warning this will slightly increase memory usage when a call - is in voicemail) edit the voicemail source code file: - - vi /usr/src/asterisk/asterisk/apps/app_voicemail.c - edit this line and change 100 to 999: - #define MAXMSG 100 - - (1.0 tree)if you have no X server installed on your Asterisk machine, then you - will need to comment out the gtk console lib(only affects 1.0 releases) - edit the voicemail source code file: - - vi /usr/src/asterisk/asterisk/pbx/Makefile - 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.24 - - make clean - - make - - make install - - cd ../libpri-1.2.5 - - make clean - - make - - make install - - cd ../asterisk-1.2.27 - - (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 - *OPTIONAL*(1.2.23 thru 1.2.27) apply the meetme DTMF passthru patch - - 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 - *OPTIONAL*(1.2.12.1 thru 1.2.27) apply the meetme volume control patch - *Different patches available for 1.2.7.1 through 1.2.14 - - 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 ../ - - -(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 - - *OPTIONAL*(1.2.14 thru 1.2.27) rewrite of waitforsilence - - wget http://www.eflo.net/files/app_waitforsilence.c - - mv -f app_waitforsilence.c apps/app_waitforsilence.c - - *OPTIONAL* shorter enter and leave sounds for meetme - - 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 - - - - make clean - - make - - make install - - make samples # this makes sample conf files (only use for new installs) - - - 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-3.2.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: - - wget http://www.freedomphones.net/files/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 - - ./configure - - make - - make install - - cd ../ - - 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: -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 through ebay for $10-$30 that will work with Asterisk - - /etc/zaptel.conf: - loadzone=us - defaultzone=us - fxsks=1 - - /etc/asterisk/zapata.conf: - [trunkgroups] - [channels] - context=unused - signalling=fxs_ks - channel => 1 - - Added this to the rc.local file: - # Load zaptel drivers for x100p - modprobe zaptel - modprobe wcfxo - -If you will be doing native music-on-hold for your inbound calls, you will need -musiconhold audio files to be converted to native formats like GSM, ULAW and ALAW: - - 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 - - - -PHASE 5: CONFIGURING ASTERISK AND YOUR SIP PHONES - -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 -to and from the SIP phones you have installed over the telco lines you've hooked -up. There are several things that we will not be showing how to do because -Asterisk is extremely flexible and has so many different ways of being -configured, that if we were to try to explain them all in this document it would -be 99% asterisk configuration and be 20,000 lines long, and that would -just be a barrier for those who just want to get it set up. The "Wiki" and the -mailing list are two very good resources for finding answers if you run into -problems configuring your system, here are links to them: -The Wiki: http://www.voip-info.org/tiki-index.php -The Lists: http://www.asterisk.org/index.php?menu=support - -I need to note that it is possible to install Asterisk and use astGUIclient -applications with no Zaptel(Digium/Sangoma/Rhino/etc...) cards installed, but it -is not recommended even if you are not going to use Zap trunks for your inbound- -outbound calls with no real Zap devices, you would need to use a dummy timer -(zt_dummy) based on you USB ports to get meetme conference rooms working -properly and you may have other issues along the way. We would at least -recommend getting a X100 or X101 board from Digium or a clone manufacturer so -there is a dedicated hardware timer in place on your system. - - - -SUBPHASE 5.0: setting up your Asterisk configuration files - -1. edit zaptel.conf - - vi /etc/zaptel.conf - There are many examples inside of the zaptel.conf file that is -generated with the "make samples" command that we issued at the end -of the last phase. There are many different parameters for the -different telco line possibilities, because we are installing a T1 -that is NON-PRI-isdn B8ZS ExtendedSuperframe(ESF) E&M Wink start and 24 -channels, we will use the following settings for zaptel.conf: - span=1,1,0,esf,b8zs - e&m=1-24 - loadzone = us - defaultzone=us - FOR A PRI YOU WOULD USE SOMETHING LIKE THIS: - span=2,2,0,esf,b8zs - bchan=25-47 - dchan=48 - -2. edit zapata.conf - - vi /etc/asterisk/zapata.conf - There are also many examples of how to configure zapata.conf online. -we decided to separate our T1 into two line groups to keep some -incoming calls from being busy if we filled up all of our lines. -Here's what we used(you can set echocancel=no if you are using PRIs): - [channels] - 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-2 - group=2 - language=en - signalling=em_w - usecallerid=yes - callerid=asreceived - context=default - echocancel=64 - echocancelwhenbridged=yes - rxgain=1.0 - txgain=1.0 - channel => 3-24 - FOR A PRI YOU WOULD USE SOMETHING LIKE THIS: - group=3 - 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 => 25-47 - -3. edit sip.conf - - 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 -Grandstream Budgetone 102 phone and a Sipura/Linksys SPA-2000 adapter with -two analog phones connected(each with it's own extension). Here are -the settings we used to set each of them up: - [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 -4. edit meetme.conf - - vi /etc/asterisk/meetme.conf - This is known as the conference calling configuration file. We are -just going to add two conferences(one without a pin number and one -with a pin number required for entry): - [rooms] - conf => 8600 - conf => 8601,1234 -5. edit iax.conf - - 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 - will be using this, make sure to add the optional lines included - after the extensions.conf section. Also, there is an account setup - here for a firefly IAX softphone to use.(details on that later) - * IMPORTANT NOTE * if you plan to use IAX2 trunks for VICIDIAL - outbound dialing you must register with the remote IAX2 server - through the iax.conf file, not just in the Dial or TRUNK line - of the extensions.conf dialplan. - [general] - bindport=4569 - iaxcompat=yes - bandwidth=high - allow=all - allow=gsm ; Always allow GSM, it's cool :) - jitterbuffer=no - tos=lowdelay - register => ASTtest1:test@10.10.10.16:4569 - - [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 - -##### EXAMPLE - This is a config example for setting up Binfone service(http://www.binfone.com) - -NOTE: The "1112223333" is your iax username. When you signup, Binfone creates -a default IAX username for you, (a 5 digit number, usually, starting with a 1). -This works for most customers. Folks that want inbound then also sign up for -DIDs, each of which has its own IAX username. (Which is the 10 digit DID). -Each username has its own password which is managed through their web interface. - -NOTE: If you will be using the G729 codec through binfone there is now a -dedicated G729 gateway that only handles G729 calls. Please use this address to -register to if you plan on using G729 as your codec: iax-g729.binfone.com - - iax.conf: - [general] - 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 - - - extensions.conf: - [global] - TRUNKBINFONE=IAX2/1112223333:PASSWORD@iax.binfone.com ; IAX trunk interface - - [default] - exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) - exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN:1},55,o) - exten => _91NXXNXXXXXX,3,Hangup - - [incoming] - exten => 1112223333,1,AGI(agi://127.0.0.1:4577/call_log) - exten => 1112223333,2,Dial(sip/gs102,55,o) - exten => 1112223333,3,Hangup - - - dnsmgr.conf: # It is very helpful to enable dnsmgr - [general] - enable=yes ; enable creation of managed DNS lookups - refreshinterval=300 ; refresh managed DNS lookups every seconds - - -##### END EXAMPLE - - -6. edit voicemail.conf - - vi /etc/asterisk/voicemail.conf - This is where we set up the voicemail boxes for the extensions that -we have set up: - [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 -7. edit manager.conf - - vi /etc/asterisk/manager.conf - This is where we set up remote logins to the asterisk manager -interface, to allow sending of Action commands from remote -connections to the Asterisk server, this will be important for the -astguiclient applications so let's set that up now: - [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 - -8. edit logger.conf - - vi /etc/asterisk/logger.conf - This file determines the messages that are logged to the console and -the /var/log/asterisk/messages file. We usually turn on full logging -to the messages file to more easily diagnose any problems that we may -run into, the problem with this is that is does produce very large -files, so be warned: - [logfiles] - console => notice,warning,error - messages => notice,warning,error,debug,verbose -9. edit extensions.conf - - vi /etc/asterisk/extensions.conf - 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 -lines and we will need to add an entry for each of the phones that we -have just set up in the sip.conf file. There are many examples both -in the sample file and online for what to put in your dialplan, here -is the simplified dialplan that we are using: -######------ START extensions.conf example ------###### -[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 -TRUNKloop = IAX2/ASTloop:test@127.0.0.1:40569 ; used for blind monitoring -TRUNKblind = IAX2/ASTblind:test@127.0.0.1:41569 ; used for testing - -[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 - -; Extension 3429 - Inbound 800 number (1-800-555-3429) -exten => _**3429,1,Ringing -exten => _**3429,2,Answer -exten => _**3429,3,Dial,sip/spa2000&sip/spa2001|30|to ; Ring, 30 secs max -exten => _**3429,4,Voicemail,u2000 ; Send to voicemail... -; Extension 3429 - with ANI [callerID] -exten => _*NXXNXXXXXX*3429,1,Ringing -exten => _*NXXNXXXXXX*3429,2,Answer -exten => _*NXXNXXXXXX*3429,3,Dial,sip/spa2000&sip/spa2001|30|to ; Ring, 30 -secs max -exten => _*NXXNXXXXXX*3429,4,Voicemail,u2000 ; Send to voicemail... - -; dial a long distance outbound number to the UK -exten => _901144XXXXXXXXXX,1,Dial(${TRUNKX}/${EXTEN:1},55,tTo) -exten => _901144XXXXXXXXXX,2,Hangup - -; dial a long distance outbound number to Australia -exten => _901161XXXXXXXXX,1,Dial(${TRUNKX}/${EXTEN:1},,tTo) -exten => _901161XXXXXXXXX,2,Hangup - -; dial an 800 outbound number -exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) -exten => _91800NXXXXXX,2,Hangup -exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) -exten => _91888NXXXXXX,2,Hangup -exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) -exten => _91877NXXXXXX,2,Hangup -exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) -exten => _91866NXXXXXX,2,Hangup - -; dial a local 727 outbound number with area code -exten => _9727NXXXXXX,1,Dial(${TRUNK}/1${EXTEN:1},,tTo) -exten => _9727NXXXXXX,2,Hangup - -; dial a local 813 outbound number with area code -exten => _9813NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) -exten => _9813NXXXXXX,2,Hangup - -; dial a long distance outbound number -exten => _91NXXNXXXXXX,1,Dial(${TRUNKX}/${EXTEN:1},,tTo) -exten => _91NXXNXXXXXX,2,Hangup - -; dial a local outbound number (modified because of only LD T1) -exten => _9NXXXXXX,1,Dial(${TRUNK}/1727${EXTEN:1},,tTo) -exten => _9NXXXXXX,2,Hangup - -; barge monitoring extension -exten => 8159,1,ZapBarge -exten => 8159,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) - -######------ END extensions.conf example ------###### - -### OPTIONAL IAX trunk extensions entries for long distance dialing over IAX - exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) - exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN:1},55,o) - exten => _91NXXNXXXXXX,3,Hangup - -### OPTIONAL SIP trunk extensions entries for long distance dialing over SIP - exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) - exten => _91NXXNXXXXXX,2,Dial(sip/${EXTEN:1}@SIPtrunk,55,o) - exten => _91NXXNXXXXXX,3,Hangup - -### OPTIONAL IAX Load Balance extens to allow for Overflow and Balanced VDAD -### In this setup, the serverIP is the prefix followed by agent conf_exten -### FOR MORE INFORMATION, READ THE LOAD_BALANCING.txt DOCUMENT -### server 1 extens: - exten => _010*010*010*016*.,1,Dial(${TRUNKIAX2}/${EXTEN:16},55,o) -### server 2 extens: - exten => _010*010*010*015*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o) - -10. edit dnsmgr.conf: # It is very helpful to enable dnsmgr - [general] - enable=yes ; enable creation of managed DNS lookups - refreshinterval=300 ; refresh managed DNS lookups every seconds - - -11. Now that you have configured Asterisk, it is time to try to start it for the -first time. - - First make sure that your T1 line(or other telco line) is connected to the -digium card. - - next type the following at the command prompt: "ztcfg -vvvvvv" - - you should see a confirmation that the Zaptel device has loaded - - now you can launch asterisk with the following command: - "asterisk -vvvvvvvvvvvvgc" - - you should see a lot of messages scroll by and at the end you should -be given a CLI> prompt if everything loaded OK. To get out of Asterisk you can -type "stop now". Now that you are sure it is running you can either run it in a -separate terminal window or use the start_asterisk_boot.pl that you will -install with astguiclient to start Asterisk: - /usr/share/astguiclient/start_asterisk_boot.pl - - - -SUBPHASE 5.1: setting up your SIP phones - -You will need to follow the instructions for the phones that you are using with -your system, but here's the way to set up a Grandstream 102 and a Linksys/Sipura -SPA-2000 - -1. Here are basic instructions for setting up a Grandstream BT 102: - - On the phone plug it in to power only at first and follow these -instructions: - - wait for the phone to boot up and press the MENU button - - go through the menu screens with the menu key and the up/down arrow -keys to move from setting to setting. We are setting the following -values: - - DHCP OFF - - IP Addr: 010.010.010.016 - - Subnet: 255.255.000.000 - - router: 010.010.010.001 - - dnS: 010.010.010.001 - - tftp: we leave this blank for now - - menu 7 we change the codec to G-711u - - now wait 10 seconds and unplug the power and plug it back in - - you can also plug the network cable into the LAN port on the phone - - at this time you can go to your workstation and open a new web browser - - go to http://10.10.10.16/ the password is "admin" - - here is where you will enter in the configuration details for the -phone to register with the Asterisk server - - SIP server: 10.10.10.15 - - SIP user ID: gs102 - - Authenticate ID: gs102 - - Password: test - - Name: gs102 - - Voice Mail UserID: 102 - - Send DTMF: in-audio - - NTP Server: tick.mit.edu - - then click update, click review changes, and click reboot - - your phone should now be able to register with the Asterisk server. If you -still have your console screen up you should see a registration message -appear telling you that gs102 has registered. - -2. Here are the basic instructions for setting up a Sipura SPA-2000 analog -adapter with 2 lines. - - Plug power and two analog phones into the adapter. - - pick up the phone plugged into line1 and press **** to enter admin menu - - press 101# then 0# to disable DHCP - - press 111# then 10*10*10*17# to change the IP address - - press 121# then 255*255*0*0# to change the subnet mask - - press 131# then 10*10*10*1# to change the default gateway - - hang up the phone, unplug the power, plug in the network cable and plug in -the power cable - - now you can go the the admin website: http://10.10.10.17/admin/advanced - - you will need to make these setting changes: - - click on the "Line 1" tab at the top and change the following values: - - Proxy: 10.10.10.15 - - Display Name: spa2000 - - userID: spa2000 - - password: test - - authID: spa2000 - - change the dialplan to the following: -(*xx|xxx|xxxx|xxxxx|xxxxxx|xxxxxxx|xxxxxxxx|xxxxxxxxxxx|xxxxxxxxxxxx|xxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxx.) - - then click the "submit all changes" button at the bottom of the page -and your first phone line should work now - - to register the second line, simply click on the "Line 2" tab and go -through the above steps except use spa2001 instead of spa2000 for the use IDs - -3. Now both of your phone devices are set up and you can try making phone calls -between the three phones - - - -SUBPHASE 5.2: setting up an IAX2 phone - -This is optinal and we won't go into too much detail about this, but currently -there are several IAX hard and softphones on the market and more are coming -every month. Follow the instructions with the IAX phone you have chosen and -follow the steps below: - -1. Add an entry into your iax.conf file like below if you have not already - [firefly01] - type=friend - accountcode=firefly01 - context=default - auth=plaintext - host=dynamic - permit=0.0.0.0/0.0.0.0 - secret=test - qualify=yes - -2. Add an entry into your extensions.conf file like below if it is not in there - ; Extension 3001 rings IAX phone - exten => 301,1,Dial(IAX2/firefly01@firefly01/s) - exten => 301,2,Voicemail,u301 ; Send to voicemail... - -3. Download Firefly 3rd party, or IDEfisk for Windows or Linux: - - http://www.virbiage.com/firefly/download/firefly-thirdparty.exe - MIRRORS: - - http://mirror.isp.net.au/ftp/pub/firefly/firefly-thirdparty.exe - - http://www.freedomphones.net/files/firefly-thirdparty.exe - IDEFISK: - - http://www.asteriskguru.com/idefisk/ - - Install the application - - Launch Firefly Softphone - - click the "I wish to connect to a 3rd party network" button - - Enter in network name: Asterisk - - Select IAX2 as the protocol - - enter in your server address: "10.10.10.15" in our case - - enter login and pass: "firefly01" and "test" for in our case - - click OK and you should be logged in and can place calls - - -SUBPHASE 5.3: setting up a Zap phone - -This is optinal and we won't go into too much detail about this either, there -are a few ways to use Zap devices as phones on your Asterisk system: Zaptel -phone cards, Channel Banks going through Zaptel T1 card, outside line call -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: - -1. Add an entry into your extensions.conf file like below - ; Extension 4001 rings Zap phone - exten => 4001,1,Dial,Zap/1|30| ; ring Zap device 1 - exten => 4001,2,Voicemail,u4001 ; Send to voicemail... - - - - -PHASE 6: INSTALLING ASTGUICLIENT AND VICIDIAL - -Now that Asterisk is installed and running we can add the astGUIclient and -VICIDIAL components to the system. - - - -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) - - 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 - - perl install.pl (make sure you are in the directory with the install.pl file) - - 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 - select to do interactive setup and customize to your server - - 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' - Here are the steps spelled out: - cd /var/lib/asterisk/sounds - wget http://www.freedomphones.net/conf.gsm - cp conf.gsm park.gsm - - - you are done - - - -SUBPHASE 6.1: creating the MySQL "asterisk" database - -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; - -NOTE: if you will be using lead files with a language that does not use the -standard latin character set then you will want to use UTF8 for your default -characterset in the MySQL database. This requires at least MySQL 4.1.11 and you -can use the following query to create the database: - 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'; - -# NOTE: if using MySQL 4.1.12 or higher you may need to run this query too: -UPDATE mysql.user set password=OLD_PASSWORD('1234') where user='cron'; - -# NOTE: make sure you do NOT put any spaces or other punctuation in the -# server_id, phone, extension, or user fields in the queries below if you edit them. - -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/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/astguiclient/sip-iax_phones.sql - - -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.27'); - -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',''); - -quit - - to populate the timezone/country table run this command from command line: - - /usr/share/astguiclient/ADMIN_area_code_populate.pl - - 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/ - - - /usr/share/astguiclient/VICIDIAL_IN_new_leads_file.pl --forcelistid=107 --forcephonecode=1 - - -######------ END Mysql data entry ------###### - -NOTE: If you will be using channelbanks for agent phones you can use the -/extras/single_channelbank_phones.sql file to help enter the phones table entries. - -NOTE: If you will be using IAX or SIP phones for agent phones you can use the -/extras/sip-iax_phones.sql file to help enter the phones table entries. - -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 vicidial administration page: -http://10.10.10.15/vicidial/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 vicidial_users table (subphase 6.1 [6666/1234]) - - 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 "Admin" link at the top, then the "ADD PHONE" link below -that 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: - - 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. - - now your database is set up for the astguiclient conferences which - will allow you to have over 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 - 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. - -4. **OPTIONAL** For IAX clients you will need to use full phone name as the -extension on the admin page entry: "firefly01@firefly01" for our IAX phone example -previously. And do not forget to set the protocol on this page to IAX2 - -5. **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 - - - - -SUBPHASE 6.2: making additions to your Asterisk conf files - -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. - -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): -######------ START extensions.conf changes for call_log ------###### - -##### This 'h' exten is VERY important for VICIDIAL usage, -##### you will have problems if it is not in your dialplan! -exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) - -; MANDITORY VDAD extens: -; In this setup, the serverIP is the prefix followed by agent conf_exten -; These lines are REQUIRED for VICIDIAL to work properly -; local server extens: -; BE SURE TO CHANGE THIS LINE FOR YOUR IP ADDRESS! - exten => _010*010*010*015*.,1,Goto(default,${EXTEN:16},1) - exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) - exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) -; Local blind monitoring - exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) -; OPTIONAL server 2 extens, needed for load balancing: - exten => _010*010*010*016*.,1,Dial(${TRUNKIAX2}/${EXTEN:16},55,o) - -; Extension 3429 - Inbound 800 number (1-800-555-3429) -exten => _**3429,1,Ringing -exten => _**3429,2,AGI(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -exten => _*NXXNXXXXXX*3429,3,Answer -exten => _*NXXNXXXXXX*3429,4,Dial,sip/spa2000&sip/spa2001,30,to -exten => _*NXXNXXXXXX*3429,5,Voicemail,u2000 - -; Extension 7275551212 - Inbound local number from PRI with 10 digit delivery -; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4 -exten => 7275551212,1,Ringing -exten => 7275551212,2,Wait(1) -exten => 7275551212,3,AGI(agi://127.0.0.1:4577/call_log--fullCID--${EXTEN}-----${CALLERID}-----${CALLERIDNUM}-----${CALLERIDNAME}) -exten => 7275551212,4,Answer -exten => 7275551212,5,Dial,sip/spa2000&sip/spa2001,30,to -exten => 7275551212,6,Voicemail,u2000 - -; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, - -; dial a long distance outbound number to the UK -exten => _901144XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo) -exten => _901161XXXXXXXXX,3,Hangup - -; Extensions for performance testing -exten => _91999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91999NXXXXXX,2,Dial(${TRUNKloop}/${EXTEN:2},,tTo) -exten => _91999NXXXXXX,3,Hangup -exten => 999999999999,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 999999999999,2,Dial(${TRUNKloop}/${EXTEN:1},,tTo) -exten => 999999999999,3,Hangup - -; dial an 800 outbound number -exten => _91800NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) -exten => _91800NXXXXXX,3,Hangup -exten => _91888NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) -exten => _91888NXXXXXX,3,Hangup -exten => _91877NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) -exten => _91877NXXXXXX,3,Hangup -exten => _91866NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,tTo) -exten => _9727NXXXXXX,3,Hangup - -; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, -; dial a long distance outbound number -exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo) -exten => _91NXXNXXXXXX,3,Hangup - -; dial a local outbound number (modified because of only LD T1) -exten => _9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,tTo) -exten => _9NXXXXXX,3,Hangup - -######------ END extensions.conf changes ------###### - - -2. Add the call_inbound entries to all incoming extensions entries that you want -CallerID popups on: - - here is how our sample dialplan changes for adding call_inbound -entries(only effected extension groups are show): -######------ START extensions.conf changes for call_inbound ------###### -; 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(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -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 - -; parameters for agi-VDAD_ALL_inbound.agi (9 fields separated by five dashes "-----"): -; 1. the method of call handling for the script: -; - CID - CID received, add record with phone number -; - CIDLOOKUP - Lookup CID to find record in whole system -; - CIDLOOKUPRL - Restrict lookup to one list -; - CIDLOOKUPRC - Restrict lookup to one campaign's lists -; - CLOSER - Closer calls from VICIDIAL fronters -; - ANI - ANI received, add record with phone number -; - ANILOOKUP - Lookup ANI to find record in whole system -; - ANILOOKUPRL - Restrict lookup to one list -; - 3DIGITID - Enter 3 digit code to go to agent -; - 4DIGITID - Enter 4 digit code to go to agent -; - 5DIGITID - Enter 5 digit code to go to agent -; - 10DIGITID - Enter 10 digit code to go to agent -; 2. the method of searching for an available agent: -; - LO - Load Balance Overflow only (priority to home server) -; - LB - Load Balance total system -; - SO - Home server only -; 3. the full name of the IN GROUP to be used in vicidial for the inbound call -; 4. the phone number that was called, for the log entry -; 5. the callerID or lead_id of the person that called(usually overridden) -; 6. the park extension audio file name if used -; 7. the status of the call initially(usually not used) -; 8. the list_id to insert the new lead under if it is new (and CID/ANI available) -; 9. the phone dialing code to insert with the new lead if new (and CID/ANI available) -; 10. the campaign_id to search within lists if CIDLOOKUPRC -; inbound VICIDIAL call with CID delivery through T1 PRI -exten => 1234,1,Answer ; Answer the line -exten => 1234,2,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----CL_GALLERIA-----7274515134-----Closer-----park----------999-----1) -exten => 1234,3,Hangup - -; inbound VICIDIAL transfer calls [can arrive through PRI T1 crossover, IAX or SIP channel] -exten => _90009.,1,Answer ; Answer the line -exten => _90009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) -exten => _90009.,3,Hangup -exten => _990009.,1,Answer ; Answer the line -exten => _990009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) -exten => _990009.,3,Hangup - - -### follow these instructions if you plan to have VICIDIAL agents take inbound or closer calls: - 1. in VICIDIAL web admin "add a new in-group" (the above examples would be "CL_GALLERIA") - - group IDs cannot contain spaces ' ' or dashes '-' or plusses '+' - - if you are using a HEX color value make sure to include the hash '#' at the beginning - 2. create a new campaign in VICIDIAL called "CLOSER" and set "allow inbound blended" to Y - 3. check the CL_GALLERIA checknox in the "Allowed In-Groups" section - 4. have agents log in to the CLOSER campaign and select the CL_GALLERIA in-group - 5. they will now start receiving inbound calls - 6. as calls come in, each call is inserted into the vicidial_list table under the - list specified int the AGI string, In the above example that would be list 999 - 7. if you want to take closer calls from the campaign "TEST" you will need to create - an in-group called "CL_TEST_" for internal closing(on the same system) or "CL_TEST_L" - for local closing(closer on different system from fronter) and then the fronter will - click on the "internal closer" button to send the call to a closer - -* NOTE, you need to set the dial_level of the CLOSER campaign to 1 or higher for inbound/closers to work - -######------ END extensions.conf changes for call_inbound ------###### - - -3. Add the ZapBarge entries for all zap lines: - - here is how our sample dialplan changes for adding zapbarge line-specific -entries(this is a pure addition, nothing is being modified): - -; ZapBarge direct channel extensions -exten => _86120XX,1,ZapBarge(${EXTEN:5}) - - -4. Add the meetme entries for astguiclient and VICIDIAL conferences to -meetme.conf: - - here is how our sample meetme.conf file changes for adding conference -entries (this is a pure addition, nothing is being modified): -######------ START meetme.conf additions for conferences ------###### -conf => 8600001 -conf => 8600002 -conf => 8600003 -conf => 8600004 -conf => 8600005 -conf => 8600006 -conf => 8600007 -conf => 8600008 -conf => 8600009 -conf => 8600010 -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 => 8600030 -conf => 8600031 -conf => 8600032 -conf => 8600033 -conf => 8600034 -conf => 8600035 -conf => 8600036 -conf => 8600037 -conf => 8600038 -conf => 8600039 -conf => 8600040 -conf => 8600041 -conf => 8600042 -conf => 8600043 -conf => 8600044 -conf => 8600045 -conf => 8600046 -conf => 8600047 -conf => 8600048 -conf => 8600049 -conf => 8600050 -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 -conf => 8600101 -conf => 8600102 -conf => 8600103 -conf => 8600104 -conf => 8600105 -conf => 8600106 -conf => 8600107 -conf => 8600108 -conf => 8600109 -conf => 8600110 -conf => 8600111 -conf => 8600112 -conf => 8600113 -conf => 8600114 -conf => 8600115 -conf => 8600116 -conf => 8600117 -conf => 8600118 -conf => 8600119 -conf => 8600120 -conf => 8600121 -conf => 8600122 -conf => 8600123 -conf => 8600124 -conf => 8600125 -conf => 8600126 -conf => 8600127 -conf => 8600128 -conf => 8600129 -conf => 8600130 -conf => 8600131 -conf => 8600132 -conf => 8600133 -conf => 8600134 -conf => 8600135 -conf => 8600136 -conf => 8600137 -conf => 8600138 -conf => 8600139 -conf => 8600140 -conf => 8600141 -conf => 8600142 -conf => 8600143 -conf => 8600144 -conf => 8600145 -conf => 8600146 -conf => 8600147 -conf => 8600148 -conf => 8600149 -conf => 8600150 -conf => 8600151 -conf => 8600152 -conf => 8600153 -conf => 8600154 -conf => 8600155 -conf => 8600156 -conf => 8600157 -conf => 8600158 -conf => 8600159 -conf => 8600160 -conf => 8600161 -conf => 8600162 -conf => 8600163 -conf => 8600164 -conf => 8600165 -conf => 8600166 -conf => 8600167 -conf => 8600168 -conf => 8600169 -conf => 8600170 -conf => 8600171 -conf => 8600172 -conf => 8600173 -conf => 8600174 -conf => 8600175 -conf => 8600176 -conf => 8600177 -conf => 8600178 -conf => 8600179 -conf => 8600180 -conf => 8600181 -conf => 8600182 -conf => 8600183 -conf => 8600184 -conf => 8600185 -conf => 8600186 -conf => 8600187 -conf => 8600188 -conf => 8600189 -conf => 8600190 -conf => 8600191 -conf => 8600192 -conf => 8600193 -conf => 8600194 -conf => 8600195 -conf => 8600196 -conf => 8600197 -conf => 8600198 -conf => 8600199 -conf => 8600200 -######------ END meetme.conf additions for conferences ------###### - - -5. Add the conference entries for astguiclient conferences: - - here is how our sample dialplan changes for adding conference entries (this -is a pure addition, nothing is being modified): - -; astGUIclient conferences -exten => _86000[0-4]X,1,Meetme,${EXTEN}|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 => _X48600XXX,1,MeetMeAdmin(${EXTEN:2},T,${EXTEN:0:1}) -exten => _X48600XXX,2,Hangup - -exten => _X38600XXX,1,MeetMeAdmin(${EXTEN:2},t,${EXTEN:0:1}) -exten => _X38600XXX,2,Hangup - -exten => _X28600XXX,1,MeetMeAdmin(${EXTEN:2},m,${EXTEN:0:1}) -exten => _X28600XXX,2,Hangup - -exten => _X18600XXX,1,MeetMeAdmin(${EXTEN:2},M,${EXTEN:0:1}) -exten => _X18600XXX,2,Hangup - -exten => _55558600XXX,1,MeetMeAdmin(${EXTEN:4},K) -exten => _55558600XXX,2,Hangup -exten => 8300,1,Hangup - -; VICIDIAL conferences -exten => _86000[5-9]X,1,Meetme,${EXTEN}|F -exten => _86001XX,1,Meetme,${EXTEN}|F -exten => _8600200,1,Meetme,${EXTEN}|F -; quiet entry and leaving conferences for VICIDIAL -exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq -; quiet monitor extensions for meetme rooms (for room managers) -exten => _68600XXX,1,Meetme,${EXTEN:1}|Fmq -; Local blind monitoring -exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) - -; voicelab exten -exten => _86009XX,1,Meetme,${EXTEN}|Fmq -; voicelab exten moderator -exten => _986009XX,1,Meetme,${EXTEN:1} - -######------ END extensions.conf changes for VD conf ------###### - -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 -pure addition, nothing is being modified): -######------ START extensions.conf other additions ------###### -; 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 - -exten => 8304,1,Answer -exten => 8304,2,Playback(ding) -exten => 8304,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) -; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4 -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) -; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4 -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 -; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4 -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 - -; prompts for recording AGI script, ID is 4321 -; first variable is format (gsm/wav) -; second variable is timeout in milliseconds (default is 360000 [6 minutes]) -exten => 8167,1,Answer -exten => 8167,2,AGI(agi-record_prompts.agi,wav-----360000) -exten => 8167,3,Hangup -exten => 8168,1,Answer -exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----360000) -exten => 8168,3,Hangup - -; playback of recorded prompts -exten => _851XXXXX,1,Answer -exten => _851XXXXX,2,Playback(${EXTEN}) -exten => _851XXXXX,3,Hangup - -#### VDAD STANDARD TRANSFER ENTRIES #### -; VICIDIAL_auto_dialer transfer script for no-agent campaigns: -exten => 8364,1,Playback(sip-silence) -exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log) -exten => 8364,3,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) -exten => 8364,4,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) -exten => 8364,5,Hangup - -; VICIDIAL_auto_dialer transfer script: -exten => 8365,1,AGI(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -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 - -#### VDAD SIP UNREGISTERED TRANSFER ENTRIES #### -#### Use these entries IN PLACE OF the entries above if you are using SIP trunks -#### and are not registering your provider in sip.conf -; VICIDIAL_auto_dialer transfer script: -exten => 8365,1,Playback(sip-silence) -exten => 8365,2,AGI(agi://127.0.0.1:4577/call_log) -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,Playback(sip-silence) -exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log) -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,Playback(sip-silence) -exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log) -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,Playback(sip-silence) -exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log) -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,Playback(sip-silence) -exten => 8369,2,AGI(agi://127.0.0.1:4577/call_log) -exten => 8369,3,AMD(3500|1500|300|5000|120|50|5|256) -exten => 8369,4,AGI(VD_amd.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,Playback(sip-silence) -exten => 8372,2,AGI(agi://127.0.0.1:4577/call_log) -exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) -exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) -exten => 8372,5,Hangup - - - -SUBPHASE 6.3: adding entries to your MySQL "asterisk" database for vicidial -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 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 into vicidial_conferences values('8600101','10.10.10.15',''); -insert into vicidial_conferences values('8600102','10.10.10.15',''); -insert into vicidial_conferences values('8600103','10.10.10.15',''); -insert into vicidial_conferences values('8600104','10.10.10.15',''); -insert into vicidial_conferences values('8600105','10.10.10.15',''); -insert into vicidial_conferences values('8600106','10.10.10.15',''); -insert into vicidial_conferences values('8600107','10.10.10.15',''); -insert into vicidial_conferences values('8600108','10.10.10.15',''); -insert into vicidial_conferences values('8600109','10.10.10.15',''); -insert into vicidial_conferences values('8600110','10.10.10.15',''); -insert into vicidial_conferences values('8600111','10.10.10.15',''); -insert into vicidial_conferences values('8600112','10.10.10.15',''); -insert into vicidial_conferences values('8600113','10.10.10.15',''); -insert into vicidial_conferences values('8600114','10.10.10.15',''); -insert into vicidial_conferences values('8600115','10.10.10.15',''); -insert into vicidial_conferences values('8600116','10.10.10.15',''); -insert into vicidial_conferences values('8600117','10.10.10.15',''); -insert into vicidial_conferences values('8600118','10.10.10.15',''); -insert into vicidial_conferences values('8600119','10.10.10.15',''); -insert into vicidial_conferences values('8600120','10.10.10.15',''); -insert into vicidial_conferences values('8600121','10.10.10.15',''); -insert into vicidial_conferences values('8600122','10.10.10.15',''); -insert into vicidial_conferences values('8600123','10.10.10.15',''); -insert into vicidial_conferences values('8600124','10.10.10.15',''); -insert into vicidial_conferences values('8600125','10.10.10.15',''); -insert into vicidial_conferences values('8600126','10.10.10.15',''); -insert into vicidial_conferences values('8600127','10.10.10.15',''); -insert into vicidial_conferences values('8600128','10.10.10.15',''); -insert into vicidial_conferences values('8600129','10.10.10.15',''); -insert into vicidial_conferences values('8600130','10.10.10.15',''); -insert into vicidial_conferences values('8600131','10.10.10.15',''); -insert into vicidial_conferences values('8600132','10.10.10.15',''); -insert into vicidial_conferences values('8600133','10.10.10.15',''); -insert into vicidial_conferences values('8600134','10.10.10.15',''); -insert into vicidial_conferences values('8600135','10.10.10.15',''); -insert into vicidial_conferences values('8600136','10.10.10.15',''); -insert into vicidial_conferences values('8600137','10.10.10.15',''); -insert into vicidial_conferences values('8600138','10.10.10.15',''); -insert into vicidial_conferences values('8600139','10.10.10.15',''); -insert into vicidial_conferences values('8600140','10.10.10.15',''); -insert into vicidial_conferences values('8600141','10.10.10.15',''); -insert into vicidial_conferences values('8600142','10.10.10.15',''); -insert into vicidial_conferences values('8600143','10.10.10.15',''); -insert into vicidial_conferences values('8600144','10.10.10.15',''); -insert into vicidial_conferences values('8600145','10.10.10.15',''); -insert into vicidial_conferences values('8600146','10.10.10.15',''); -insert into vicidial_conferences values('8600147','10.10.10.15',''); -insert into vicidial_conferences values('8600148','10.10.10.15',''); -insert into vicidial_conferences values('8600149','10.10.10.15',''); -insert into vicidial_conferences values('8600150','10.10.10.15',''); -insert into vicidial_conferences values('8600151','10.10.10.15',''); -insert into vicidial_conferences values('8600152','10.10.10.15',''); -insert into vicidial_conferences values('8600153','10.10.10.15',''); -insert into vicidial_conferences values('8600154','10.10.10.15',''); -insert into vicidial_conferences values('8600155','10.10.10.15',''); -insert into vicidial_conferences values('8600156','10.10.10.15',''); -insert into vicidial_conferences values('8600157','10.10.10.15',''); -insert into vicidial_conferences values('8600158','10.10.10.15',''); -insert into vicidial_conferences values('8600159','10.10.10.15',''); -insert into vicidial_conferences values('8600160','10.10.10.15',''); -insert into vicidial_conferences values('8600161','10.10.10.15',''); -insert into vicidial_conferences values('8600162','10.10.10.15',''); -insert into vicidial_conferences values('8600163','10.10.10.15',''); -insert into vicidial_conferences values('8600164','10.10.10.15',''); -insert into vicidial_conferences values('8600165','10.10.10.15',''); -insert into vicidial_conferences values('8600166','10.10.10.15',''); -insert into vicidial_conferences values('8600167','10.10.10.15',''); -insert into vicidial_conferences values('8600168','10.10.10.15',''); -insert into vicidial_conferences values('8600169','10.10.10.15',''); -insert into vicidial_conferences values('8600170','10.10.10.15',''); -insert into vicidial_conferences values('8600171','10.10.10.15',''); -insert into vicidial_conferences values('8600172','10.10.10.15',''); -insert into vicidial_conferences values('8600173','10.10.10.15',''); -insert into vicidial_conferences values('8600174','10.10.10.15',''); -insert into vicidial_conferences values('8600175','10.10.10.15',''); -insert into vicidial_conferences values('8600176','10.10.10.15',''); -insert into vicidial_conferences values('8600177','10.10.10.15',''); -insert into vicidial_conferences values('8600178','10.10.10.15',''); -insert into vicidial_conferences values('8600179','10.10.10.15',''); -insert into vicidial_conferences values('8600180','10.10.10.15',''); -insert into vicidial_conferences values('8600181','10.10.10.15',''); -insert into vicidial_conferences values('8600182','10.10.10.15',''); -insert into vicidial_conferences values('8600183','10.10.10.15',''); -insert into vicidial_conferences values('8600184','10.10.10.15',''); -insert into vicidial_conferences values('8600185','10.10.10.15',''); -insert into vicidial_conferences values('8600186','10.10.10.15',''); -insert into vicidial_conferences values('8600187','10.10.10.15',''); -insert into vicidial_conferences values('8600188','10.10.10.15',''); -insert into vicidial_conferences values('8600189','10.10.10.15',''); -insert into vicidial_conferences values('8600190','10.10.10.15',''); -insert into vicidial_conferences values('8600191','10.10.10.15',''); -insert into vicidial_conferences values('8600192','10.10.10.15',''); -insert into vicidial_conferences values('8600193','10.10.10.15',''); -insert into vicidial_conferences values('8600194','10.10.10.15',''); -insert into vicidial_conferences values('8600195','10.10.10.15',''); -insert into vicidial_conferences values('8600196','10.10.10.15',''); -insert into vicidial_conferences values('8600197','10.10.10.15',''); -insert into vicidial_conferences values('8600198','10.10.10.15',''); -insert into vicidial_conferences values('8600199','10.10.10.15',''); -insert into vicidial_conferences values('8600200','10.10.10.15',''); - -######------ END Mysql data entry ------###### - - - -SUBPHASE 6.4: setting up asterisk and helper applications for startup - -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): - -# OPTIONAL enable ip_relay(for same-machine trunking and blind monitoring) -# /usr/share/astguiclient/ip_relay/relay_control start 2>/dev/null 1>&2 - -# Disable console blanking and powersaving -/usr/bin/setterm -blank -/usr/bin/setterm -powersave off -/usr/bin/setterm -powerdown - -### 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 MySQL 4.1.X server (with old passwords) -/usr/local/mysql/bin/safe_mysqld --old-passwords --skip-name-resolve --skip-host-cache & - -### start up the apache web server -/usr/local/apache2/bin/apachectl start - -### roll the Asterisk logs upon reboot -/usr/share/astguiclient/ADMIN_restart_roll_logs.pl - -### clear the server-related records from the database -/usr/share/astguiclient/AST_reset_mysql_vars.pl - -### load digium tormenta 4xT1 drivers into system -modprobe zaptel -modprobe wct1xxp -/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 - - - - -SUBPHASE 6.5: setting up astguiclient scripts for continuous running - -1. Make several entries in the crontab of your system: - - on the command line type: - - cd /usr/share/astguiclient - - crontab -e - - add the following entries(here's what we used): - -### 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 --GSM -#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 --GSM - -### 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 18.145.0.30 2>/dev/null 1>&2 - -### VICIDIAL agent time log weekly and daily summary report generation -2 0 * * 0 /usr/share/astguiclient/AST_agent_week.pl -22 0 * * * /usr/share/astguiclient/AST_agent_day.pl - -### VICIDIAL campaign export scripts (OPTIONAL) -#32 0 * * * /usr/share/astguiclient/AST_VDsales_export.pl -#42 0 * * * /usr/share/astguiclient/AST_sourceID_summary_export.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 - - - - - - once your system starts up you can attach to the screen running asterisk by -typing "screen -r " 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 - -NOTES: -- The AST_agent_day.pl and AST_agent_week.pl scripts create an ASCII fixed-length report of all agent activity on the system -- The AST_VDsales_export.pl script allows for the exporting(into several different formats) of specified vicidial_list data based on status and campaign as well as inbound group -- The AST_sourceID_summary_export.pl script summarizes leads in the system by source_id and generates a text report - - - - - -SUBPHASE 6.6: adding test leads to the VICIDIAL database and configuring a -VICIDIAL 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 that was made available as of the 1.1.1 -release and is accessible from the VICIDIAL admin.php web page(click on the -"LOAD NEW LEADS" link 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. - -Second we need to add the disposition statuses into the system, all of these -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) # - -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','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('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('XFER','Call Transferred','Y','Y','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. -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 --postal-code-gmt - -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.1, 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 - - - -SUBPHASE 6.7: 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 - - - -SUBPHASE 6.8: astGUIclient web-only client: - -With 1.1.1 release of astguiclient we have completely rewritten the astGUIclient -client app in AJAX(PHP/Javascript/XMLHTTPRequest) to enable a full, real-time -GUI interface using only a web browser. The browser requirements for this 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 6.0 - -This new version also has more flexibility and functionality than the perl/Tk -version as well as being prettier. We have successfully tested this on many -platforms and in remote locations. It functioned wonderfully off-site with one -of our IAX hardphones and offers a lot of promise for road warriors who need -a lot of options on their phone usage like conferencing and a detailed call log. - -To log into this app you will need a login setup in the vicidial_users table -with a user_level of 1 or greater 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 phone information, voicemail display and your inbound/ -outbound phone call log. - -The example web page you would go to on this installation would be: -http://10.10.10.15/agc/astguiclient.php - -The inbound log and callerID popup is dependant on having a call_inbound.agi -entry in your dialplan before you phone is dialed(see subphase 6.2 step 2) - -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_www directory -and can be unzipped into your webroot directory. - - - -SUBPHASE 6.9: VICIDIAL web-only client: - -NOTE: There is a VICIDIAL Agent manual available from http://www.eflo.net - -With 1.1.6 release of astguiclient we have finished the rewrite of the VICIDIAL -client app in AJAX(PHP/Javascript/XMLHTTPRequest) to enable a full, real-time -GUI interface using only a web browser like we have done with astGUIclient. -The browser requirements for this 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 6.0 - -This version is fully functional and has been tested in our production -call center with no problems. - -To log into this app you will need a login setup in the vicidial_users table -with a user_level of 1 or greater 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 -VICIDIAL screen with your phone information. - -The example web page you would go to on this installation would be: -http://10.10.10.15/agc/vicidial.php - -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 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. - -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_www directory -and can be unzipped into your webroot directory. - -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 7.0: You are done with installation - -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. *** - -End-user Manuals for Agents and Managers are available from http://www.eflo.net +Asterisk/astguiclient install from scratch. v.2.0.4.1 2008-09-XX + By the VICIDIAL group info@vicidial.com + +**** IMPORTANT - In order for vicidial/astguiclient to function correctly please +read the REQUIREMENTS.txt for a minimum requirements list. *** + +End-user Manuals for Agents and Managers are available from http://www.eflo.net + + +This document is meant to be a very in-depth step-by-step explanation of +installing the Asterisk open-source PBX on a Linux system and also installing +the astGUIclient suite. The instructions will assume starting from nothing and +will try to give several side step instructions to account for some differences +in choices of hardware and software. + +The actual installation that I am doing as I write these instructions will be on +the following hardware: + + - Pentium 3 500MHz + - Intel motherboard D815BN + - 256MB PC133 RAM + - 80GB IBM deskstar 7200RPM Hard Drive + - Digium Wildcard Single Span T1 Card T100P + - 2U rackmount case with 250W power supply + - Phone hardware will be a Grandstream BT102 and a Sipura SPA-2000 because they +are so cheap and readily available + +All of these parts, aside from the Digium card and the two SIP VOIP devices, +were purchased from ebay and the entire package(with the two VOIP devices and +all server hardware included) cost me about $1100 to put together including the +phones and Digium adapter. + +We have many other Asterisk servers at our main office, but this one can be +experimented with easily because it was so cheap to make and has a relatively +small capacity when compared with a multi-processor server with a quad span T1 +card. + +This is our test Asterisk server and functions well for a dozen or so extensions +in use if it were to be used in production. A size that is optimal for many +small offices operating with a fractional data/voice T1 for instance. + +For hardware you can use almost any Pentium-class processor(PII, PIII, Athlon, +Xeon, etc), and you can use any digium telco interface card. Both of these +choices will determine what the capacity of your Asterisk server will be. If you +want to do simple IVR or conference calling and a few extensions, then a PIII +with a single Digium T1 card will work just fine for you. If you want to use the +VICIDIAL application, you will want to get as high-powered of a machine as you +can afford and get a digium quad-span T1 card. + +The following is assumed for these installation procedures: +- You have access to a CD burner and 3 blank CDs +- You have some sort of broadband internet connection +- You understand basic linux commands and can use a file editor like vi +- You have all of the necessary hardware: + - a pentium-class computer + - a digium telco interface card with appropriate telco lines + - at least 1 SIP VOIP device + - a Local Area Network(LAN) with extra ports enough for the new server +and the number of phones you want + + + + + +PHASE 1: INSTALLING AN OPERATING SYSTEM + + +This installation will be using Slackware 11 for the linux distribution, +Slackware 12.X will also work with these instructions. There are several easier +linux distributions and there are others that are more popular, but Slackware is +a nice non-commercial distro that has been around for a long time and proven +itself to be a very uncluttered and stable platform for development. + +1. Go to http://www.ultimatebootcd.com/ , download the latest bootcd and +burn it to a CD. This will be needed to partition the hard drive prior to +installation of Slackware linux. The latest version as of this writing is 4.1 +(If you have problems with your hardware booting some of the utilities with 4.1 +I suggest trying 1.7, that version has older utilities, but still gets the job +done and works on every machine I've tried it on). + +2. Insert the ultimatebootcd you just burned into your CDROM drive and boot +to it. You will select "filesystem utilities" and then "XFDISK" + +3. Select any old partitions and delete them and then create 2 new +partitions: + - 70000 MB, select yes to validate, change partition type to "Linux Native" + - 3332 MB, select yes to validate, change partition type to "Linux Swap" + - 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 +or 1 DVD. Download both installation disks from any close server listed on the +download page and burn them both to CDs. + +5. Insert Disk 1 of the Slackware installation CD and boot your computer. +If you have a simple computer with just an IDE drive just hit enter at the boot: +prompt. If you have other hard drive adapters(SCSI/RAID/SATA/etc..) you will +need to look at the Slackware installation help page to determine what boot +image you will need to use to install Slackware correctly. + +6. Login as root and type "setup" at the prompt to go to the setup menu. +7. Go to ADDSWAP and hit Enter +8. Select the swap partition you just created and hit Yes, The swap +partition will then be formatted +9. Select the root partiton you just created as Linux Native and hit +Select, then select "ext3" for the file system, then select 4096 for the inodes +and the root partition will then be formatted +10. Select "Install Slackware from a CD" and hit OK +11. Select "auto" installation and hit OK +12. Select every package except for "KDEI" and hit OK +13. Select "full" installation and hit OK +14. Insert the next Slackware installation disk (disk 2) when it prompts +you, and hit OK to continue +15. Now you will select the boot kernel that you will use from now on. If +you have a simple system with IDE drives you can probably just select "skip" and +go to the next step. If not then you should probably select "cdrom" and select +the kernel from the list that you selected to boot into the installation. +16. You can make a bootdisk if you like, but you don't have to. +17. For Modem you can select "no modem" and hit OK to continue +18. Enable hotplug, hit Yes to continue +19. Install lilo "simple" and hit OK to continue +20. lilo frame buffer console 640x480 is safe choice if you're not sure +21. Optional Lilo append, leave blank and hit OK to continue +22. Lilo destination, I usually choose MBR but root works most of the time +23. Mouse, select the mouse type that you have hooked up, or select ps/2 +24. Load GPM at boot time, Hit Yes to continue +25. select Yes to configure your network +26. Hostname, we are typing "phone" +27. network, we are typing our local domain name +28. IP address, we are selecting Static IP, here's what we enter for +network, you should enter a network setup that will work with your local LAN: + - IP address: 10.10.10.15 + - subnet: 255.255.0.0 + - gateway: 10.10.10.1 + - name server: 10.10.10.1 +29. Accept your network settings +30. Startup services to run, change nothing and select OK to continue +31. select NO for custom screen fonts +32. Hardware clock to UTC, select NO +33. Select your time zone and hit OK +34. I usually select gnome as the window manager, even though you won't be +using it on this machine +35. Select Yes to enter a root password. type something that you will +remember. +36. Setup of Slackware Linux is complete, hit OK and EXIT then press +CTRL-ALT-DELETE to reboot your computer + + + + + +PHASE 2: COMPILING A CUSTOM LINUX KERNEL + + +From this step on you should be able to continue the installation remotely +although it is wise to at least have quick access to the machine if something +goes wrong. + +To connect remotely through SSH on linux type "slogin serveripaddress" or to use +Windows to connect you can use a piece of free software called putty available +here: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html +Also, for windows you can use SSH file transferring(SFTP) with a program called +filezilla: http://filezilla.sourceforge.net/ + +This is an optional step if your linux system is running, but compiling your own +custom kernel is always a way to optimize your system for the hardware you have +installed or a way to remove the unnecesary modules that are in the default +kernel. You will definately want to build your own kernel if you have a multi +processor machine. If you are new to Linux you probably do not want to do this. + +If you are using a newer Digium Octasic-based echo-cancellation quad T1/E1 card +then you need to use a 2.6 Linux kernel in order to use the echo-cancellation +functionality of the card. + +If you want to compile a 2.6 kernel then start with OPTION 1, otherwise to +compile the 2.4 kernel that comes with Slackware(2.4.33) start with OPTION 2: + +OPTION 1: compile Linux kernel 2.6.17 *RECOMMENDED* + +1. cd /usr/src +2. wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.11.tar.gz +3. gunzip linux-2.6.17.11.tar.gz +4. tar xvf linux-2.6.17.11.tar +5. mv -f /usr/src/linux /usr/src/linux-old +6. ln -s /usr/src/linux-2.6.17.11 /usr/src/linux +7. cd linux +8. make mrproper # prep for kernel assembly +9. make menuconfig # launch configuration menu app + (this part is very dependant upon your own hardware) + (what is mentioned below are only changes beyond what is selected by default) + + Block Layer ---> + -> IO Scheduler + this should be set to CFQ if you do not have a hardware caching controller + if you have a hardware caching controller DEADLINE or NO-OP are the best + choices, if you have a battery backuped caching controller that is set to write-back you should use NO-OP. + Processor Type and Features ---> + ->Symmetric multi-processing support + (if you have multiple processors or a Dual-core or HT enabled) + ->High Memory Support + (if you have more than 900MB of System RAM move upto 4GB) + ->Timer frequency (1000 HZ) + (change to 1000Hz if using ztdummy for timer on pre 2.6.17 kernel) + ->[*]Tickless System (enable UNLESS using ztdummy on pre 2.6.17 kernel) + ->[*]Enable Kernel irq balancing + ->Preemption Model (No Forced Preemption (Server)) + (^This one is very important!!!) + Power management options (ACPI, APM) ---> + ->ACPI (Advanced Configuration and Power Interface) Support + (enable all down to Processor and thermal zone) + Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> + ->[*] PCI Express support + (if using Sangoma PCI Express card) + Networking ---> + Amateur Radio support ---> + <*> Amateur Radio AX.25 Level 2 protocol + [*] AX.25 DAMA Slave support + <*> Amateur Radio NET/ROM protocol + <*> Amateur Radio X.25 PLP (Rose) + (all needed for new Digium Octasic drivers) + Device Drivers ---> + ATA/ATAPI/MFM/RLL support ---> + <*> SCSI emulation support + (needed for SATA drives, also further down check chipset drivers) + SCSI device support ---> + <*> RAID Transport Class + (needed if you are using a RAID) + SCSI low-level drivers ---> + <*> Serial ATA (SATA) support + (required if using SATA drives) + (if using a SCSI RAID card pick correct driver here) + Multi-device support (RAID and LVM) ---> + (select proper RAID types if using Linux RAID) + Network device support ---> + Ethernet (10 or 100Mbit) ---> + Ethernet (1000 Mbit) ---> + (select proper drivers for the eype of network card you have) + Character devices ---> + <*> Enhanced Real Time Clock Support + (double-check that this is enabled, very important) + Real Time Clock ---> + <*> RTC class + (double-check that this is enabled, very important) + File systems ---> + <*> Ext3 journalling file system support + (important if using ext3 filesystem) + pseudo filesystems ---> + <*> Virtual memory file system support + (this is usually checked anyway but mandatory for recording to RAM[tmpfs]) + Library routines ---> + <*> CRC-CCITT functions + <*> CRC16 functions + <*> CRC32c (Castagnoli, et al) Cyclic Redundancy-Check + (important for new Digium Octasic drivers) + EXIT AND SAVE YOUR CONFIGURATION + +10. make clean # clean up the kernel build areas +11. make bzImage # create a kernel bzImage +12. make modules # build the modules into the image +13. make modules_install # install kernel modules +14. cp arch/i386/boot/bzImage /boot/bzImage-XXXX # copy image + (put whatever you want in XXXX, that is your new kernel name) +15. cp System.map /boot/System.map-XXXX # copy system map +16. mv -f /boot/System.map /boot/System.map-orig +17. ln -s /boot/System.map-XXXX /boot/System.map # symlink map +18. vi /etc/lilo.conf # edit the lilo boot config file + image=/boot/bzImage-XXXX # add the new image in above- + label=test-XXXX # the previous one + root=/dev/hda1 # device of root partition + read-only +19. /sbin/lilo # run the lilo reload script +20. vi /etc/fstab # to include the following line for recording to RAM + tmpfs /var/spool/asterisk/monitor tmpfs rw 0 0 +21. shutdown -r 0 # reboot machine and hope it worked + +OPTION 2: compile Linux kernel 2.4.33.3 (not recommended, very old) + +1. cd /usr/src/linux # move to your linux source directory +2. cp .config config.save # copy old config to a save file +3. make mrproper # prep for kernel assembly +4. make menuconfig # launch configuration menu app + (this part is very dependant upon your own hardware) + enable processor version # select the processor that you have + enable SMP # if more than 1 processor or Intel HT + enable high memory () # if more than 1GB of RAM + enable SCSI Multiple # if SCSI drives + enable SCSI devices AMI Megaraid # if SCSI Megaraid adapter + enable 3com network devices # if 3com network card + enable ext3 file system # for ext3 to work + enable all ACPI options # for SMP to work + enable Enhanced Real Time Clock Support in Character devices section + # for SMP to work + enable any other hardware specific options + exit and save configuration +5. make dep # build the kernel dependancies +6. make clean # clean up the kernel build areas +7. make bzImage # create a kernel bzImage +8. make modules # build the modules into the image +9. make modules_install # install kernel modules +10. # nothing# mkinitrd /boot/initrd-XXXXXX.img XXXXXX *not needed on Slackware* +11. cp arch/i386/boot/bzImage /boot/bzImage-XXXXXX # copy image + (put whatever you want in XXXXXX, that is your new kernel name) +12. cp System.map /boot/System.map-XXXXXXN # copy system map +13. mv -f /boot/System.map /boot/System.map-orig +14. ln -s /boot/System.map-XXXXXX /boot/System.map # symlink map +15. vi /etc/lilo.conf # edit the lilo boot config file + image=/boot/bzImage-XXXXXX # add the new image in above- + label=test-XXXXXX # the previous one + root=/dev/hda1 # device of root partition + read-only +16. /sbin/lilo # run the lilo reload script +17. shutdown -r 0 # reboot machine and hope it worked + + +After compiling your kernel you can run a few commands to verify that you are +running your new kernel and that devices are running as they are supposed to: + ps --info (will show you your linux kernel version and other info) + cat /proc/cpuinfo (will show you processor type and more than one if SMP) + top (will show you system memory) + + + + +PHASE 3: INSTALLING SOFTWARE BEFORE ASTERISK + +In this step we will be installing software that Asterisk and/or astGUIclient +needs to be able to function to its fullest ability. Not all of these software +packages are manditory to successfully install Asterisk and some of them can be +installed on other machines on your network like MySQL or Apache. But, in this +installation we are assuming that there are no other machines on our network to +help the Asterisk server, so it must have everything it needs installed locally. + + + +SUBPHASE 3.0: install new Gnu Make + +A new version of the "make" compilation application replaced the 4-year-old +version that most Linux distros(Including Slackware) use. This is only needed +if you will be building Asterisk from the 1.4 release tree. + + - wget http://mirrors.kernel.org/gnu/make/make-3.81.tar.gz + - gunzip make-3.81.tar.gz + - tar xvf make-3.81.tar + - cd make-3.81 + - ./configure + - make + - make install + + + +SUBPHASE 3.1: MySQL requirements + +You must at least have Mysql client installed on each VICIDIAL server, but you +only need one database server. + +MySQL is a fast database system that is very easy to integrate with any +application. You can either install the server on the local Asterisk system or +have one somewhere on your network. For our purposes, we are creating an Asterisk +installation that is self contained and needs no other local servers to operate, +so we will need to install mysql on this machine. +*REQUIRED and OPTIONAL* (only install MySQL server locally if you don't want to use an installation +on another machine, Mysql client is required on all VICIDIAL servers) +NOTE: a minimum of MySQL server 4.0.X is required + + 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 + - groupadd mysql + - useradd -g mysql mysql + - "./configure --prefix=/usr/local/mysql --enable-large-files --enable-shared=yes --with-readline" + **** 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 + - 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 + - /usr/local/mysql/bin/mysqld_safe --user=mysql --skip-name-resolve --skip-host-cache & + - ln -s /tmp/mysql.sock /var/run/mysql/mysql.sock + **** 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/ + - you are done + + ** INSTALLATION NOTE ** + If you are having Linuxthreads problems upon onfigure, just execute the following command: + echo '/* Linuxthreads */' >> /usr/include/pthread.h + + ***** NOTE: if you will be using any of the DBI perl scripts: ***** + Every machine that you will be using the newer BDI perl scripts on will need + to have the perl modules DBI and DBD::mysql installed on them. To do this + you will also need to at least have the MySQL client installed on the server + (see above) then you will need to go to 'cpan' and "install DBI" and + "install DBD::mysql". You may need to "force install DBD::mysql" if the DBD + tests fail on your first try, but that is OK since the tests are not needed + + + +SUBPHASE 3.2: Installing Perl Modules + +NOTE - you can install ActiveState http://www.activestate.com perl which may +improve performance, but it is not required. Here's the source for ActiveState +Perl 5.8: (it's free) + http://downloads.activestate.com/ActivePerl/src/5.8/AP817_source.tgz +I hope to add the lengthy steps for installing it as your default perl on your +server but I need some time and a free machine to do that. + +cpan is the "Comprehensive Perl Archive Network". It's a mirrored archive of +most of the perl modules out there complete with a installation and management +command-line interface. Here's what you do to start it: +*REQUIRED* (needed for perl AGIs) + +1. perl -MCPAN -e shell # type in the command line +2. You will then go through CPAN setup, just hit ENTER for most prompts except +for the mirrors list, you will want to select at least 4 mirrors + - yes for manual configuration + - enter for the next 18 prompts + - for the "make install options" it's a good idea to add UNINST=1 + - enter for the next 4 prompts + - select your continent and country + - select a few cpan mirrors + - enter for the next 2 prompts +3. Once you see the cpan> prompt you can begin installing modules +4. If you've never installed cpan before you should probably install the +following modules first: (say YES if asked to install prerequisites) + - install MD5 + - install Digest::MD5 + - install Digest::SHA1 + - install readline (just hit Enter when it asks for operator) + - install Bundle::CPAN + - reload cpan +- then you can install other modules: + - install DBI + - force install DBD::mysql (must at least have mysqlclientlibs installed) + - install Net::Telnet + - install Time::HiRes + - install Net::Server + - install Unicode::Map (needed for super list loader Excel) + - install Jcode (needed for super list loader Excel) + - install Spreadsheet::WriteExcel (needed for super list loader Excel) + - install OLE::Storage_Lite (needed for super list loader Excel) + - install Proc::ProcessTable (needed for super list loader Excel) + - install IO::Scalar (needed for super list loader Excel) + - install Spreadsheet::ParseExcel (needed for super list loader Excel) +- 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) +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 + - wget http://asterisk.gnuinter.net/files/asterisk-perl-0.08.tar.gz + - gunzip asterisk-perl-0.08.tar.gz + - tar xvf asterisk-perl-0.08.tar + - cd asterisk-perl-0.08 + - perl Makefile.PL + - make all + - make install + - you are done + + + +SUBPHASE 3.3: Installing other utilities + +Sox is an audio utility that allows you to mix audio files together at their +start point into one file. it is necessary for Asterisk recordings that record +in and out as separate files +*REQUIRED* (needed for recording mixing) + +1. Go to http://sourceforge.net/projects/sox/ and download the sox package + - to install this directly on the command line type: + - cd /usr/local + - cd /usr/local + - wget http://easynews.dl.sourceforge.net/sourceforge/sox/sox-14.0.1.tar.gz + - gunzip sox-14.0.1.tar.gz + - tar xvf sox-14.0.1.tar + - cd sox-14.0.1 + - ./configure --disable-shared + - make (if alsa.o errors add --disable-alsa-dsp to configure and redo) + - make install + - you are done + + +LAME is an MP3 encoder used to convert audio files from WAV to MP3. We prefer GSM +usually, but some users have standardized on MP3 so they would need this utility +to be loaded to use that option. +*OPTIONAL* (only needed if you will be converting recordings to MP3) + +2. Go to http://lame.sourceforge.net/ and download the lame package + - to install this directly on the command line type: + - cd /usr/local + -wget http://easynews.dl.sourceforge.net/sourceforge/lame/lame-3.96.1.tar.gz + -gunzip lame-3.96.1.tar.gz + -tar xvf lame-3.96.1.tar + -cd lame-3.96.1 + -./configure + -make + -make install + - you are done + + + +Screen is a terminal emulator that allows you to run a process as command line +and be able to detach from them('Ctrl+a' then 'd') and log all output of the +terminal to a screenlog file if desired(add a '-L' to the launching command). +In our installations this is how we launch Asterisk upon startup and still have +the ability to log output and still attach to the screen that executed asterisk +originally. +*REQUIRED* *MANDITORY FOR VICIDIAL SERVERS* + +3. Go to http://www.gnu.org/software/screen/ and download the screen package + - to install this directly on the command line type: + - cd /usr/local + - wget http://ftp.gnu.org/gnu/screen/screen-4.0.2.tar.gz + or for older version: + - wget http://mirrors.kernel.org/gnu/screen/screen-3.9.15.tar.gz + - gunzip screen-4.0.2.tar.gz + - tar xvf screen-4.0.2.tar + - cd screen-4.0.2 + - ./configure + - make + - make install + - you are done + + +ttyload is a simple terminal application that shows the processor load in a +graphical time-based scrolling graph. We use it to view how loaded the system is +and it visualizes load spikes very well +*OPTIONAL* (only for obsessive admins like me) + +4. Go to http://www.daveltd.com/src/util/ttyload/ and download the ttyload +package + - to install this directly on the command line type: + - cd /usr/local + - wget http://www.daveltd.com/src/util/ttyload/ttyload-0.4.4.tar.gz + - gunzip ttyload-0.4.4.tar.gz + - tar xvf ttyload-0.4.4.tar + - cd ttyload-0.4.4 + - make + - ln -s /usr/local/ttyload-0.4.4/ttyload /usr/bin/ttyload + - you are done + + +ntpd is the network time protocol daemon that matches the time on your machine +with the time of a master server somewhere in the world. We use it to make sure +the time is the same on our client computers and our servers. +*MANDITORY FOR VICIDIAL SERVERS* (install on server and all clients) + +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/ntp-4.2/ntp-4.2.2p3.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-4.2.2p3.tar.gz + - tar xvf ntp-4.2.2p3.tar + - cd ntp-4.2.2p3 + - ./configure + - make + - make install + - vi /etc/ntp.conf (change to just 1 line: "server 18.145.0.30") + - cp /etc/ntp.conf /etc/ntpd.conf # just to be sure + - /usr/local/bin/ntpdate -u 18.145.0.30 # initial sync + - /usr/sbin/ntpd # run it + - you are done + + +iftop is a good console bandwidth visualization tool that shows you active +connections, where they are going to/from and how much of your precious bandwidth +they are using. *OPTIONAL* +NOTE: another good network analysis utility is "iptraf" and is on most system + +6. Go to http://www.ex-parrot.com/~pdw/iftop/ and download the package + - to install this directly on the command line type: + - cd /usr/local + - wget http://www.tcpdump.org/release/libpcap-0.9.4.tar.gz + - gunzip libpcap-0.9.4.tar.gz + - tar xvf libpcap-0.9.4.tar + - cd libpcap-0.9.4 + - ./configure + - make + - make install + - cd /usr/local + - wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz + - gunzip iftop-0.17.tar.gz + - tar xvf iftop-0.17.tar + - cd iftop-0.17 + - ./configure + - make + - make install + - iftop + - you are done + + +ploticus is a free graph creation package that allows you to create line graphs +within PNG files simply by creating a config file and a data file. We use this +package along with the included PHP script to generate server performance graphs +that can be displayed real-time on a web page. +*OPTIONAL* (only needed for server performance graphing web reports) + +7. Go to http://ploticus.sourceforge.net/ and download the package + - to install this directly on the command line type: + NOTE: you may have to edit the Makefile to remove X11 if you don't have it + - cd /usr/local + - wget http://superb-west.dl.sourceforge.net/sourceforge/ploticus/pl240src.tar.gz + - gunzip pl240src.tar.gz + - tar xvf pl240src.tar + - cd pl240src/src/ + - make clean + - make + - make install + - you are done + NOTE: uncomment these lines to compile on systems without X11(v232): + NOXFLAG = -DNOX11 + XLIBS = + XOBJ = + NOTE: for the graphics to work on the AST_server_performance page you will + need the 'pl' script to be linked or copied into your htdocs/vicidial/ploticus directory + NOTE: you may need to edit the Makefile for ploticus if you do not have X11 + + +openssh is a remote login protocol server that is always a good idea to have +updated on your system, so we're going to install a new version now. +*OPTIONAL* (only updated as a precaution, not manditory) + [NOTE: newer zlib is needed before installing] + +8. Go to http://www.openssh.org/ and download the linux source for openssh + - to install this directly on the command line type: + - cd /usr/local + - wget http://www.zlib.net/zlib-1.2.3.tar.gz + - gunzip zlib-1.2.3.tar.gz + - tar xvf zlib-1.2.3.tar + - cd zlib-1.2.3 + - ./configure + - 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 + - ./configure + - make + - make install + - you are done + + +openssl is the open-source SSL libraries package, and to install a fake SSL cert +locally and have it work with apache, you need it installed on your machine +*OPTIONAL* (only install openssl if you want to use SSL secured web pages on +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 + - ./config + - make + - make install + - you are done + + +apache is a web server that allows you to use many different modules with it to +extend it's functionality. In order to use some of the astguiclient +functionalities we need to have Apache and PHP installed on this machine. +*OPTIONAL* (only install Apache and PHP locally if you don't want to use an +installation on another machine) + +10. Go to http://www.apache.org/ and download the apache unix source + 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 + - ./configure --enable-so --with-apxs2 + - make + - make install + - cd ../php-5.2.6 + - ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql + - make + - make install + - cp php.ini-dist /usr/local/lib/php.ini + NOTE: you will want to make sure NOTICE logging is turned off: + error_reporting = E_ALL & ~E_NOTICE ; (this is default) +!!! REQUIRED !!! be sure the memory limit for scripts in php.ini is AT LEAST 48M: + memory_limit = 48M + Make sure short tags are enabled: + short_open_tag = On + some other fields to change if using web-based lead loader: + max_execution_time = 330 + max_input_time = 360 + post_max_size = 48M + upload_max_filesize = 42M + default_socket_timeout = 360 + + - vi /usr/local/apache2/conf/httpd.conf + add the following lines: + "AddType application/x-httpd-php .php .phtml" + "LoadModule php4_module libexec/libphp5.so" + or + "LoadModule php4_module modules/libphp5.so" + modify the index.html line and add index.php to the list + + to disable logging, change: + "CustomLog logs/access_log common" + to this: + "CustomLog /dev/null common" + + to enable web browsing of Recordings on Asterisk server, add this: + Alias /RECORDINGS/ "/var/spool/asterisk/monitorDONE/" + + + Options Indexes MultiViews + AllowOverride None + Order allow,deny + Allow from all + + Forcetype application/forcedownload + + + + - /usr/local/apache2/bin/apachectl start + - go to http://your-new-asterisk-server-ipaddress/ to see if it worked + - you are done + NOTE: If using PHP5 you may need to add the following line to php.ini: + short_open_tag = On + + OPTIONAL- Load eAccelerator PHP-caching application: + Even so this is technically an optional part, it is strongly recommended that you install eAccelerator + since it will slash PHPs processing power requirements greatly. Without eAccelerator load on the system + can be ten times as high, which can cause all kinds of problems, this is especially true for single + 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 + - export PHP_PREFIX="/usr/local" + - $PHP_PREFIX/bin/phpize + - ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config + - make + - make install + - vi /usr/local/lib/php.ini + Add the following lines to the dynamic extensions section of php.ini: + (you may need to change the extension location depending on your install of php) + zend_extension="../../../usr/local/eaccelerator-0.9.5/modules/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 + # to verify installation: + - php -v + + + + +balance is a load-balancing application for Linux that will allow you to spread +the load of your web traffic across many servers. If you are running more than +70 agents on a single server you may want to install this application and build +another cheap web server to handle the extra load. +*OPTIONAL* + +11. Go to http://balance.sourceforge.net to download the most recent source version + - to install this directly on the command line type: + - cd /usr/local + - wget http://voxel.dl.sourceforge.net/sourceforge/balance/balance-3.34.tgz + - gunzip balance-3.34.tgz + - tar xvf balance-3.34.tar + - cd balance-3.34 + - make + - make install + - /usr/sbin/balance -f 81 localhost:80 10.10.10.16:80 + That command will take port 81 traffic and send it evenly to the local + server and the 10.10.10.16 server reducing the load and speeding up + the applications. More info on balance: http://www.inlab.de/balance.pdf + + +subversion is the new code control framework use by the Asterisk community. If +you want to use the latest development code of Asterisk you will need to have +this loaded on your system. +*OPTIONAL* + +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 + - ./configure + - make + - make install + + +mtop is a great utility for real-time monitoring of mysql and the queries that +are running in it. +*OPTIONAL* + 13. Go to http://mtop.sourceforge.net to download the most recent version + - to install this directly on the command line type: + - cd /usr/local + - wget http://superb-east.dl.sourceforge.net/sourceforge/mtop/mtop-0.6.6.tar.gz + - gunzip mtop-0.6.6.tar.gz + - tar xvf mtop-0.6.6.tar + - cd mtop-0.6.6 + - cpan + - install Curses + - install Getopt::Long + - install Net::Domain + - quit + - perl Makefile.PL + - make + - make install + - /usr/local/bin/mtop --dbuser=root --seconds=3 + + +sipsak is an optional utility that VICIDIAL can use to send messages to an +agent's SIP-based phone(like the Snom 320) to display text on their LCD screen. +If you want to use this, make sure it is installed on the same server that your +web server is installed on(Apache). +*OPTIONAL* + 14. Go to http://sipsak.org to download the most recent version + - to install this directly on the command line, type: + - cd /usr/local + - wget http://download.berlios.de/sipsak/sipsak-0.9.6-1.tar.gz + - gunzip sipsak-0.9.6-1.tar.gz + - tar xvf sipsak-0.9.6-1.tar + - cd sipsak-0.9.6-1 + - ./configure + - make + - make install + - /usr/local/bin/sipsak --version + + + + + +PHASE 4: INSTALLING ASTERISK + +OK, all the prep work is done, now it's time to start having fun with Asterisk. +There are two basic ways to install Asterisk, an official release(at the time of +this writing the official release is 1.2.30.2) and the SVN_DEV version(development +branch). We recommend using Asterisk 1.2.30.2. 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. + +NOTE: If you want to use Asterisk 1.4, you will need to make sure that you set +the servers table "asterisk_version" field to the proper version number and you +can use the docs/conf_examples/extensions.conf.sample-1.4 file for your default +dialplan + +NOTE: If you want to use release 1.0.8 or 9 we would recommend either using the +CVS_v1-0 branch where the issues are fixed, or patching your 1.0.8/1.0.9 code +with the following patch: +(http://astguiclient.sourceforge.net/experimental_code/localmasq.patch) +- If you do patch your system make sure you put the asterisk version + field for the server on the admin pages as '1.0.11.1' + +1. follow these command line steps: + - 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 + - gunzip asterisk-1.2.30.2.tar.gz + - tar xvf asterisk-1.2.30.2.tar + - gunzip zaptel-1.2.27.tar.gz + - tar xvf zaptel-1.2.27.tar + - gunzip libpri-1.2.5.tar.gz + - tar xvf libpri-1.2.5.tar + B. if you want latest SVN_1.2 version (release tree with new patches) + - svn checkout http://svn.digium.com/svn/asterisk/branches/1.2 asterisk-1.2 + - svn checkout http://svn.digium.com/svn/zaptel/branches/1.2 zaptel-1.2 + - svn checkout http://svn.digium.com/svn/libpri/branches/1.2 libpri-1.2 + C. if you want latest SVN_DEV version (not recommended) [1.6 tree] + - svn checkout http://svn.digium.com/svn/asterisk/trunk asterisk + - svn checkout http://svn.digium.com/svn/zaptel/trunk zaptel + - svn checkout http://svn.digium.com/svn/libpri/trunk libpri + - ALL -> + - (1.0 tree)if you want to allow for more than 100 voicemail messages in a + mailbox(warning this will slightly increase memory usage when a call + is in voicemail) edit the voicemail source code file: + - vi /usr/src/asterisk/asterisk/apps/app_voicemail.c + edit this line and change 100 to 999: + #define MAXMSG 100 + - (1.0 tree)if you have no X server installed on your Asterisk machine, then you + will need to comment out the gtk console lib(only affects 1.0 releases) + edit the voicemail source code file: + - vi /usr/src/asterisk/asterisk/pbx/Makefile + 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.27 + - make clean + - make + - make install + - cd ../libpri-1.2.5 + - make clean + - make + - make install + - cd ../asterisk-1.2.30.2 + - (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 + *OPTIONAL*(1.2.23 thru 1.2.30.2) apply the meetme DTMF passthru patch + - 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 + *OPTIONAL*(1.2.12.1 thru 1.2.30.2) apply the meetme volume control patch + *Different patches available for 1.2.7.1 through 1.2.14 + - 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 ../ + + -(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 + + *OPTIONAL*(1.2.14 thru 1.2.30.2) rewrite of waitforsilence + - wget http://www.eflo.net/files/app_waitforsilence.c + - mv -f app_waitforsilence.c apps/app_waitforsilence.c + + *OPTIONAL* shorter enter and leave sounds for meetme + - 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 + + + - make clean + - make + - make install + - make samples # this makes sample conf files (only use for new installs) + + - 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-3.2.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: + - wget http://downloads.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 + - ./configure + - make + - make install + - cd ../ + - 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: +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 through ebay for $10-$30 that will work with Asterisk + + /etc/zaptel.conf: + loadzone=us + defaultzone=us + fxsks=1 + + /etc/asterisk/zapata.conf: + [trunkgroups] + [channels] + context=unused + signalling=fxs_ks + channel => 1 + + Added this to the rc.local file: + # Load zaptel drivers for x100p + modprobe zaptel + modprobe wcfxo + +If you will be doing native music-on-hold for your inbound calls, you will need +musiconhold audio files to be converted to native formats like GSM, ULAW and ALAW: + + 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 + + + +PHASE 5: CONFIGURING ASTERISK AND YOUR SIP PHONES + +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 +to and from the SIP phones you have installed over the telco lines you've hooked +up. There are several things that we will not be showing how to do because +Asterisk is extremely flexible and has so many different ways of being +configured, that if we were to try to explain them all in this document it would +be 99% asterisk configuration and be 20,000 lines long, and that would +just be a barrier for those who just want to get it set up. The "Wiki" and the +mailing list are two very good resources for finding answers if you run into +problems configuring your system, here are links to them: +The Wiki: http://www.voip-info.org/tiki-index.php +The Lists: http://www.asterisk.org/index.php?menu=support + +I need to note that it is possible to install Asterisk and use astGUIclient +applications with no Zaptel(Digium/Sangoma/Rhino/etc...) cards installed, but it +is not recommended even if you are not going to use Zap trunks for your inbound- +outbound calls with no real Zap devices, you would need to use a dummy timer +(zt_dummy) based on you USB ports to get meetme conference rooms working +properly and you may have other issues along the way. We would at least +recommend getting a X100 or X101 board from Digium or a clone manufacturer so +there is a dedicated hardware timer in place on your system. + + + +SUBPHASE 5.0: setting up your Asterisk configuration files + +1. edit zaptel.conf + - vi /etc/zaptel.conf + There are many examples inside of the zaptel.conf file that is +generated with the "make samples" command that we issued at the end +of the last phase. There are many different parameters for the +different telco line possibilities, because we are installing a T1 +that is NON-PRI-isdn B8ZS ExtendedSuperframe(ESF) E&M Wink start and 24 +channels, we will use the following settings for zaptel.conf: + span=1,1,0,esf,b8zs + e&m=1-24 + loadzone = us + defaultzone=us + FOR A PRI YOU WOULD USE SOMETHING LIKE THIS: + span=2,2,0,esf,b8zs + bchan=25-47 + dchan=48 + +2. edit zapata.conf + - vi /etc/asterisk/zapata.conf + There are also many examples of how to configure zapata.conf online. +we decided to separate our T1 into two line groups to keep some +incoming calls from being busy if we filled up all of our lines. +Here's what we used(you can set echocancel=no if you are using PRIs): + [channels] + 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-2 + group=2 + language=en + signalling=em_w + usecallerid=yes + callerid=asreceived + context=default + echocancel=64 + echocancelwhenbridged=yes + rxgain=1.0 + txgain=1.0 + channel => 3-24 + FOR A PRI YOU WOULD USE SOMETHING LIKE THIS: + group=3 + 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 => 25-47 + +3. edit sip.conf + - 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 +Grandstream Budgetone 102 phone and a Sipura/Linksys SPA-2000 adapter with +two analog phones connected(each with it's own extension). Here are +the settings we used to set each of them up: + [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 +4. edit meetme.conf + - vi /etc/asterisk/meetme.conf + This is known as the conference calling configuration file. We are +just going to add two conferences(one without a pin number and one +with a pin number required for entry): + [rooms] + conf => 8600 + conf => 8601,1234 +5. edit iax.conf + - 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 + will be using this, make sure to add the optional lines included + after the extensions.conf section. Also, there is an account setup + here for a firefly IAX softphone to use.(details on that later) + * IMPORTANT NOTE * if you plan to use IAX2 trunks for VICIDIAL + outbound dialing you must register with the remote IAX2 server + through the iax.conf file, not just in the Dial or TRUNK line + of the extensions.conf dialplan. + [general] + bindport=4569 + iaxcompat=yes + bandwidth=high + allow=all + allow=gsm ; Always allow GSM, it's cool :) + jitterbuffer=no + tos=lowdelay + register => ASTtest1:test@10.10.10.16:4569 + + [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 + +##### EXAMPLE - This is a config example for setting up Binfone service(http://www.binfone.com) + +NOTE: The "1112223333" is your iax username. When you signup, Binfone creates +a default IAX username for you, (a 5 digit number, usually, starting with a 1). +This works for most customers. Folks that want inbound then also sign up for +DIDs, each of which has its own IAX username. (Which is the 10 digit DID). +Each username has its own password which is managed through their web interface. + +NOTE: If you will be using the G729 codec through binfone there is now a +dedicated G729 gateway that only handles G729 calls. Please use this address to +register to if you plan on using G729 as your codec: iax-g729.binfone.com + + iax.conf: + [general] + 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 + + + extensions.conf: + [global] + TRUNKBINFONE=IAX2/1112223333:PASSWORD@iax.binfone.com ; IAX trunk interface + + [default] + exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) + exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN:1},55,o) + exten => _91NXXNXXXXXX,3,Hangup + + [incoming] + exten => 1112223333,1,AGI(agi://127.0.0.1:4577/call_log) + exten => 1112223333,2,Dial(sip/gs102,55,o) + exten => 1112223333,3,Hangup + + + dnsmgr.conf: # It is very helpful to enable dnsmgr + [general] + enable=yes ; enable creation of managed DNS lookups + refreshinterval=300 ; refresh managed DNS lookups every seconds + + +##### END EXAMPLE + + +6. edit voicemail.conf + - vi /etc/asterisk/voicemail.conf + This is where we set up the voicemail boxes for the extensions that +we have set up: + [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 +7. edit manager.conf + - vi /etc/asterisk/manager.conf + This is where we set up remote logins to the asterisk manager +interface, to allow sending of Action commands from remote +connections to the Asterisk server, this will be important for the +astguiclient applications so let's set that up now: + [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 + +8. edit logger.conf + - vi /etc/asterisk/logger.conf + This file determines the messages that are logged to the console and +the /var/log/asterisk/messages file. We usually turn on full logging +to the messages file to more easily diagnose any problems that we may +run into, the problem with this is that is does produce very large +files, so be warned: + [logfiles] + console => notice,warning,error + messages => notice,warning,error,debug,verbose +9. edit extensions.conf + - vi /etc/asterisk/extensions.conf + 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 +lines and we will need to add an entry for each of the phones that we +have just set up in the sip.conf file. There are many examples both +in the sample file and online for what to put in your dialplan, here +is the simplified dialplan that we are using: +######------ START extensions.conf example ------###### +[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 +TRUNKloop = IAX2/ASTloop:test@127.0.0.1:40569 ; used for blind monitoring +TRUNKblind = IAX2/ASTblind:test@127.0.0.1:41569 ; used for testing + +[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 + +; Extension 3429 - Inbound 800 number (1-800-555-3429) +exten => _**3429,1,Ringing +exten => _**3429,2,Answer +exten => _**3429,3,Dial,sip/spa2000&sip/spa2001|30|to ; Ring, 30 secs max +exten => _**3429,4,Voicemail,u2000 ; Send to voicemail... +; Extension 3429 - with ANI [callerID] +exten => _*NXXNXXXXXX*3429,1,Ringing +exten => _*NXXNXXXXXX*3429,2,Answer +exten => _*NXXNXXXXXX*3429,3,Dial,sip/spa2000&sip/spa2001|30|to ; Ring, 30 +secs max +exten => _*NXXNXXXXXX*3429,4,Voicemail,u2000 ; Send to voicemail... + +; dial a long distance outbound number to the UK +exten => _901144XXXXXXXXXX,1,Dial(${TRUNKX}/${EXTEN:1},55,tTo) +exten => _901144XXXXXXXXXX,2,Hangup + +; dial a long distance outbound number to Australia +exten => _901161XXXXXXXXX,1,Dial(${TRUNKX}/${EXTEN:1},,tTo) +exten => _901161XXXXXXXXX,2,Hangup + +; dial an 800 outbound number +exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91800NXXXXXX,2,Hangup +exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91888NXXXXXX,2,Hangup +exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91877NXXXXXX,2,Hangup +exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91866NXXXXXX,2,Hangup + +; dial a local 727 outbound number with area code +exten => _9727NXXXXXX,1,Dial(${TRUNK}/1${EXTEN:1},,tTo) +exten => _9727NXXXXXX,2,Hangup + +; dial a local 813 outbound number with area code +exten => _9813NXXXXXX,1,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _9813NXXXXXX,2,Hangup + +; dial a long distance outbound number +exten => _91NXXNXXXXXX,1,Dial(${TRUNKX}/${EXTEN:1},,tTo) +exten => _91NXXNXXXXXX,2,Hangup + +; dial a local outbound number (modified because of only LD T1) +exten => _9NXXXXXX,1,Dial(${TRUNK}/1727${EXTEN:1},,tTo) +exten => _9NXXXXXX,2,Hangup + +; barge monitoring extension +exten => 8159,1,ZapBarge +exten => 8159,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) + +######------ END extensions.conf example ------###### + +### OPTIONAL IAX trunk extensions entries for long distance dialing over IAX + exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) + exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN:1},55,o) + exten => _91NXXNXXXXXX,3,Hangup + +### OPTIONAL SIP trunk extensions entries for long distance dialing over SIP + exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) + exten => _91NXXNXXXXXX,2,Dial(sip/${EXTEN:1}@SIPtrunk,55,o) + exten => _91NXXNXXXXXX,3,Hangup + +### OPTIONAL IAX Load Balance extens to allow for Overflow and Balanced VDAD +### In this setup, the serverIP is the prefix followed by agent conf_exten +### FOR MORE INFORMATION, READ THE LOAD_BALANCING.txt DOCUMENT +### server 1 extens: + exten => _010*010*010*016*.,1,Dial(${TRUNKIAX2}/${EXTEN:16},55,o) +### server 2 extens: + exten => _010*010*010*015*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o) + +10. edit dnsmgr.conf: # It is very helpful to enable dnsmgr + [general] + enable=yes ; enable creation of managed DNS lookups + refreshinterval=300 ; refresh managed DNS lookups every seconds + + +11. Now that you have configured Asterisk, it is time to try to start it for the +first time. + - First make sure that your T1 line(or other telco line) is connected to the +digium card. + - next type the following at the command prompt: "ztcfg -vvvvvv" + - you should see a confirmation that the Zaptel device has loaded + - now you can launch asterisk with the following command: + "asterisk -vvvvvvvvvvvvgc" + - you should see a lot of messages scroll by and at the end you should +be given a CLI> prompt if everything loaded OK. To get out of Asterisk you can +type "stop now". Now that you are sure it is running you can either run it in a +separate terminal window or use the start_asterisk_boot.pl that you will +install with astguiclient to start Asterisk: + /usr/share/astguiclient/start_asterisk_boot.pl + + + +SUBPHASE 5.1: setting up your SIP phones + +You will need to follow the instructions for the phones that you are using with +your system, but here's the way to set up a Grandstream 102 and a Linksys/Sipura +SPA-2000 + +1. Here are basic instructions for setting up a Grandstream BT 102: + - On the phone plug it in to power only at first and follow these +instructions: + - wait for the phone to boot up and press the MENU button + - go through the menu screens with the menu key and the up/down arrow +keys to move from setting to setting. We are setting the following +values: + - DHCP OFF + - IP Addr: 010.010.010.016 + - Subnet: 255.255.000.000 + - router: 010.010.010.001 + - dnS: 010.010.010.001 + - tftp: we leave this blank for now + - menu 7 we change the codec to G-711u + - now wait 10 seconds and unplug the power and plug it back in + - you can also plug the network cable into the LAN port on the phone + - at this time you can go to your workstation and open a new web browser + - go to http://10.10.10.16/ the password is "admin" + - here is where you will enter in the configuration details for the +phone to register with the Asterisk server + - SIP server: 10.10.10.15 + - SIP user ID: gs102 + - Authenticate ID: gs102 + - Password: test + - Name: gs102 + - Voice Mail UserID: 102 + - Send DTMF: in-audio + - NTP Server: tick.mit.edu + - then click update, click review changes, and click reboot + - your phone should now be able to register with the Asterisk server. If you +still have your console screen up you should see a registration message +appear telling you that gs102 has registered. + +2. Here are the basic instructions for setting up a Sipura SPA-2000 analog +adapter with 2 lines. + - Plug power and two analog phones into the adapter. + - pick up the phone plugged into line1 and press **** to enter admin menu + - press 101# then 0# to disable DHCP + - press 111# then 10*10*10*17# to change the IP address + - press 121# then 255*255*0*0# to change the subnet mask + - press 131# then 10*10*10*1# to change the default gateway + - hang up the phone, unplug the power, plug in the network cable and plug in +the power cable + - now you can go the the admin website: http://10.10.10.17/admin/advanced + - you will need to make these setting changes: + - click on the "Line 1" tab at the top and change the following values: + - Proxy: 10.10.10.15 + - Display Name: spa2000 + - userID: spa2000 + - password: test + - authID: spa2000 + - change the dialplan to the following: +(*xx|xxx|xxxx|xxxxx|xxxxxx|xxxxxxx|xxxxxxxx|xxxxxxxxxxx|xxxxxxxxxxxx|xxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxx.) + - then click the "submit all changes" button at the bottom of the page +and your first phone line should work now + - to register the second line, simply click on the "Line 2" tab and go +through the above steps except use spa2001 instead of spa2000 for the use IDs + +3. Now both of your phone devices are set up and you can try making phone calls +between the three phones + + + +SUBPHASE 5.2: setting up an IAX2 phone + +This is optinal and we won't go into too much detail about this, but currently +there are several IAX hard and softphones on the market and more are coming +every month. Follow the instructions with the IAX phone you have chosen and +follow the steps below: + +1. Add an entry into your iax.conf file like below if you have not already + [firefly01] + type=friend + accountcode=firefly01 + context=default + auth=plaintext + host=dynamic + permit=0.0.0.0/0.0.0.0 + secret=test + qualify=yes + +2. Add an entry into your extensions.conf file like below if it is not in there + ; Extension 3001 rings IAX phone + exten => 301,1,Dial(IAX2/firefly01@firefly01/s) + exten => 301,2,Voicemail,u301 ; Send to voicemail... + +3. Download Firefly 3rd party, or IDEfisk for Windows or Linux: + - 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 + IDEFISK: + - http://www.asteriskguru.com/idefisk/ + - Install the application + - Launch Firefly Softphone + - click the "I wish to connect to a 3rd party network" button + - Enter in network name: Asterisk + - Select IAX2 as the protocol + - enter in your server address: "10.10.10.15" in our case + - enter login and pass: "firefly01" and "test" for in our case + - click OK and you should be logged in and can place calls + + +SUBPHASE 5.3: setting up a Zap phone + +This is optinal and we won't go into too much detail about this either, there +are a few ways to use Zap devices as phones on your Asterisk system: Zaptel +phone cards, Channel Banks going through Zaptel T1 card, outside line call +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: + +1. Add an entry into your extensions.conf file like below + ; Extension 4001 rings Zap phone + exten => 4001,1,Dial,Zap/1|30| ; ring Zap device 1 + exten => 4001,2,Voicemail,u4001 ; Send to voicemail... + + + + +PHASE 6: INSTALLING ASTGUICLIENT AND VICIDIAL + +Now that Asterisk is installed and running we can add the astGUIclient and +VICIDIAL components to the system. + + + +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) + - 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 + - perl install.pl (make sure you are in the directory with the install.pl file) + - 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 + select to do interactive setup and customize to your server + - 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://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' + Here are the steps spelled out: + cd /var/lib/asterisk/sounds + wget http://downloads.vicidial.com/sounds/conf.gsm + cp conf.gsm park.gsm + + - you are done + + + +SUBPHASE 6.1: creating the MySQL "asterisk" database + +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; + +NOTE: if you will be using lead files with a language that does not use the +standard latin character set then you will want to use UTF8 for your default +characterset in the MySQL database. This requires at least MySQL 4.1.11 and you +can use the following query to create the database: + 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'; + +GRANT RELOAD ON *.* TO cron@'%'; +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: +UPDATE mysql.user set password=OLD_PASSWORD('1234') where user='cron'; + +# NOTE: make sure you do NOT put any spaces or other punctuation in the +# server_id, phone, extension, or user fields in the queries below if you edit them. + +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/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/astguiclient/sip-iax_phones.sql + + +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',''); + +quit + + to populate the timezone/country table run this command from command line: + - /usr/share/astguiclient/ADMIN_area_code_populate.pl + + 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/ + + - /usr/share/astguiclient/VICIDIAL_IN_new_leads_file.pl --forcelistid=107 --forcephonecode=1 + + +######------ END Mysql data entry ------###### + +NOTE: If you will be using channelbanks for agent phones you can use the +/extras/single_channelbank_phones.sql file to help enter the phones table entries. + +NOTE: If you will be using IAX or SIP phones for agent phones you can use the +/extras/sip-iax_phones.sql file to help enter the phones table entries. + +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 vicidial administration page: +http://10.10.10.15/vicidial/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 vicidial_users table (subphase 6.1 [6666/1234]) + - 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 "Admin" link at the top, then the "ADD PHONE" link below +that 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: + - 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. + - now your database is set up for the astguiclient conferences which + will allow you to have over 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 + 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. + +4. **OPTIONAL** For IAX clients you will need to use full phone name as the +extension on the admin page entry: "firefly01@firefly01" for our IAX phone example +previously. And do not forget to set the protocol on this page to IAX2 + +5. **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 + + + + +SUBPHASE 6.2: making additions to your Asterisk conf files + +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. + +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): +######------ START extensions.conf changes for call_log ------###### + +##### This 'h' exten is VERY important for VICIDIAL usage, +##### you will have problems if it is not in your dialplan! +exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) + +; MANDITORY VDAD extens: +; In this setup, the serverIP is the prefix followed by agent conf_exten +; These lines are REQUIRED for VICIDIAL to work properly +; local server extens: +; BE SURE TO CHANGE THIS LINE FOR YOUR IP ADDRESS! + exten => _010*010*010*015*.,1,Goto(default,${EXTEN:16},1) + exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) + exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +; Local blind monitoring + exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) +; OPTIONAL server 2 extens, needed for load balancing: + exten => _010*010*010*016*.,1,Dial(${TRUNKIAX2}/${EXTEN:16},55,o) + +; Extension 3429 - Inbound 800 number (1-800-555-3429) +exten => _**3429,1,Ringing +exten => _**3429,2,AGI(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +exten => _*NXXNXXXXXX*3429,3,Answer +exten => _*NXXNXXXXXX*3429,4,Dial,sip/spa2000&sip/spa2001,30,to +exten => _*NXXNXXXXXX*3429,5,Voicemail,u2000 + +; Extension 7275551212 - Inbound local number from PRI with 10 digit delivery +; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4 +exten => 7275551212,1,Ringing +exten => 7275551212,2,Wait(1) +exten => 7275551212,3,AGI(agi://127.0.0.1:4577/call_log--fullCID--${EXTEN}-----${CALLERID}-----${CALLERIDNUM}-----${CALLERIDNAME}) +exten => 7275551212,4,Answer +exten => 7275551212,5,Dial,sip/spa2000&sip/spa2001,30,to +exten => 7275551212,6,Voicemail,u2000 + +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, + +; dial a long distance outbound number to the UK +exten => _901144XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo) +exten => _901161XXXXXXXXX,3,Hangup + +; Extensions for performance testing +exten => _91999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91999NXXXXXX,2,Dial(${TRUNKloop}/${EXTEN:2},,tTo) +exten => _91999NXXXXXX,3,Hangup +exten => 999999999999,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 999999999999,2,Dial(${TRUNKloop}/${EXTEN:1},,tTo) +exten => 999999999999,3,Hangup + +; dial an 800 outbound number +exten => _91800NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91800NXXXXXX,3,Hangup +exten => _91888NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91888NXXXXXX,3,Hangup +exten => _91877NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,tTo) +exten => _91877NXXXXXX,3,Hangup +exten => _91866NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,tTo) +exten => _9727NXXXXXX,3,Hangup + +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, +; dial a long distance outbound number +exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,tTo) +exten => _91NXXNXXXXXX,3,Hangup + +; dial a local outbound number (modified because of only LD T1) +exten => _9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,tTo) +exten => _9NXXXXXX,3,Hangup + +######------ END extensions.conf changes ------###### + + +2. Add the call_inbound entries to all incoming extensions entries that you want +CallerID popups on: + - here is how our sample dialplan changes for adding call_inbound +entries(only effected extension groups are show): +######------ START extensions.conf changes for call_inbound ------###### +; 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(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +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 + +; parameters for agi-VDAD_ALL_inbound.agi (9 fields separated by five dashes "-----"): +; 1. the method of call handling for the script: +; - CID - CID received, add record with phone number +; - CIDLOOKUP - Lookup CID to find record in whole system +; - CIDLOOKUPRL - Restrict lookup to one list +; - CIDLOOKUPRC - Restrict lookup to one campaign's lists +; - CLOSER - Closer calls from VICIDIAL fronters +; - ANI - ANI received, add record with phone number +; - ANILOOKUP - Lookup ANI to find record in whole system +; - ANILOOKUPRL - Restrict lookup to one list +; - 3DIGITID - Enter 3 digit code to go to agent +; - 4DIGITID - Enter 4 digit code to go to agent +; - 5DIGITID - Enter 5 digit code to go to agent +; - 10DIGITID - Enter 10 digit code to go to agent +; 2. the method of searching for an available agent: +; - LO - Load Balance Overflow only (priority to home server) +; - LB - Load Balance total system +; - SO - Home server only +; 3. the full name of the IN GROUP to be used in vicidial for the inbound call +; 4. the phone number that was called, for the log entry +; 5. the callerID or lead_id of the person that called(usually overridden) +; 6. the park extension audio file name if used +; 7. the status of the call initially(usually not used) +; 8. the list_id to insert the new lead under if it is new (and CID/ANI available) +; 9. the phone dialing code to insert with the new lead if new (and CID/ANI available) +; 10. the campaign_id to search within lists if CIDLOOKUPRC +; inbound VICIDIAL call with CID delivery through T1 PRI +exten => 1234,1,Answer ; Answer the line +exten => 1234,2,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----CL_GALLERIA-----7274515134-----Closer-----park----------999-----1) +exten => 1234,3,Hangup + +; inbound VICIDIAL transfer calls [can arrive through PRI T1 crossover, IAX or SIP channel] +exten => _90009.,1,Answer ; Answer the line +exten => _90009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) +exten => _90009.,3,Hangup +exten => _990009.,1,Answer ; Answer the line +exten => _990009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) +exten => _990009.,3,Hangup + + +### follow these instructions if you plan to have VICIDIAL agents take inbound or closer calls: + 1. in VICIDIAL web admin "add a new in-group" (the above examples would be "CL_GALLERIA") + - group IDs cannot contain spaces ' ' or dashes '-' or plusses '+' + - if you are using a HEX color value make sure to include the hash '#' at the beginning + 2. create a new campaign in VICIDIAL called "CLOSER" and set "allow inbound blended" to Y + 3. check the CL_GALLERIA checknox in the "Allowed In-Groups" section + 4. have agents log in to the CLOSER campaign and select the CL_GALLERIA in-group + 5. they will now start receiving inbound calls + 6. as calls come in, each call is inserted into the vicidial_list table under the + list specified int the AGI string, In the above example that would be list 999 + 7. if you want to take closer calls from the campaign "TEST" you will need to create + an in-group called "CL_TEST_" for internal closing(on the same system) or "CL_TEST_L" + for local closing(closer on different system from fronter) and then the fronter will + click on the "internal closer" button to send the call to a closer + +* NOTE, you need to set the dial_level of the CLOSER campaign to 1 or higher for inbound/closers to work + +######------ END extensions.conf changes for call_inbound ------###### + + +3. Add the ZapBarge entries for all zap lines: + - here is how our sample dialplan changes for adding zapbarge line-specific +entries(this is a pure addition, nothing is being modified): + +; ZapBarge direct channel extensions +exten => _86120XX,1,ZapBarge(${EXTEN:5}) + + +4. Add the meetme entries for astguiclient and VICIDIAL conferences to +meetme.conf: + - here is how our sample meetme.conf file changes for adding conference +entries (this is a pure addition, nothing is being modified): +######------ START meetme.conf additions for conferences ------###### +conf => 8600001 +conf => 8600002 +conf => 8600003 +conf => 8600004 +conf => 8600005 +conf => 8600006 +conf => 8600007 +conf => 8600008 +conf => 8600009 +conf => 8600010 +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 => 8600030 +conf => 8600031 +conf => 8600032 +conf => 8600033 +conf => 8600034 +conf => 8600035 +conf => 8600036 +conf => 8600037 +conf => 8600038 +conf => 8600039 +conf => 8600040 +conf => 8600041 +conf => 8600042 +conf => 8600043 +conf => 8600044 +conf => 8600045 +conf => 8600046 +conf => 8600047 +conf => 8600048 +conf => 8600049 +conf => 8600050 +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 +conf => 8600101 +conf => 8600102 +conf => 8600103 +conf => 8600104 +conf => 8600105 +conf => 8600106 +conf => 8600107 +conf => 8600108 +conf => 8600109 +conf => 8600110 +conf => 8600111 +conf => 8600112 +conf => 8600113 +conf => 8600114 +conf => 8600115 +conf => 8600116 +conf => 8600117 +conf => 8600118 +conf => 8600119 +conf => 8600120 +conf => 8600121 +conf => 8600122 +conf => 8600123 +conf => 8600124 +conf => 8600125 +conf => 8600126 +conf => 8600127 +conf => 8600128 +conf => 8600129 +conf => 8600130 +conf => 8600131 +conf => 8600132 +conf => 8600133 +conf => 8600134 +conf => 8600135 +conf => 8600136 +conf => 8600137 +conf => 8600138 +conf => 8600139 +conf => 8600140 +conf => 8600141 +conf => 8600142 +conf => 8600143 +conf => 8600144 +conf => 8600145 +conf => 8600146 +conf => 8600147 +conf => 8600148 +conf => 8600149 +conf => 8600150 +conf => 8600151 +conf => 8600152 +conf => 8600153 +conf => 8600154 +conf => 8600155 +conf => 8600156 +conf => 8600157 +conf => 8600158 +conf => 8600159 +conf => 8600160 +conf => 8600161 +conf => 8600162 +conf => 8600163 +conf => 8600164 +conf => 8600165 +conf => 8600166 +conf => 8600167 +conf => 8600168 +conf => 8600169 +conf => 8600170 +conf => 8600171 +conf => 8600172 +conf => 8600173 +conf => 8600174 +conf => 8600175 +conf => 8600176 +conf => 8600177 +conf => 8600178 +conf => 8600179 +conf => 8600180 +conf => 8600181 +conf => 8600182 +conf => 8600183 +conf => 8600184 +conf => 8600185 +conf => 8600186 +conf => 8600187 +conf => 8600188 +conf => 8600189 +conf => 8600190 +conf => 8600191 +conf => 8600192 +conf => 8600193 +conf => 8600194 +conf => 8600195 +conf => 8600196 +conf => 8600197 +conf => 8600198 +conf => 8600199 +conf => 8600200 +######------ END meetme.conf additions for conferences ------###### + + +5. Add the conference entries for astguiclient conferences: + - here is how our sample dialplan changes for adding conference entries (this +is a pure addition, nothing is being modified): + +; astGUIclient conferences +exten => _86000[0-4]X,1,Meetme,${EXTEN}|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 => _X48600XXX,1,MeetMeAdmin(${EXTEN:2},T,${EXTEN:0:1}) +exten => _X48600XXX,2,Hangup + +exten => _X38600XXX,1,MeetMeAdmin(${EXTEN:2},t,${EXTEN:0:1}) +exten => _X38600XXX,2,Hangup + +exten => _X28600XXX,1,MeetMeAdmin(${EXTEN:2},m,${EXTEN:0:1}) +exten => _X28600XXX,2,Hangup + +exten => _X18600XXX,1,MeetMeAdmin(${EXTEN:2},M,${EXTEN:0:1}) +exten => _X18600XXX,2,Hangup + +exten => _55558600XXX,1,MeetMeAdmin(${EXTEN:4},K) +exten => _55558600XXX,2,Hangup +exten => 8300,1,Hangup + +; VICIDIAL conferences +exten => _86000[5-9]X,1,Meetme,${EXTEN}|F +exten => _86001XX,1,Meetme,${EXTEN}|F +exten => _8600200,1,Meetme,${EXTEN}|F +; quiet entry and leaving conferences for VICIDIAL +exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq +; quiet monitor extensions for meetme rooms (for room managers) +exten => _68600XXX,1,Meetme,${EXTEN:1}|Fmq +; Local blind monitoring +exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) + +; voicelab exten +exten => _86009XX,1,Meetme,${EXTEN}|Fmq +; voicelab exten moderator +exten => _986009XX,1,Meetme,${EXTEN:1} + +######------ END extensions.conf changes for VD conf ------###### + +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 +pure addition, nothing is being modified): +######------ START extensions.conf other additions ------###### +; 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 + +exten => 8304,1,Answer +exten => 8304,2,Playback(ding) +exten => 8304,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) +; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4 +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) +; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4 +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 +; SEE extensions.conf.sample-1.4 for changes needed for use with Asterisk 1.4 +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 + +; prompts for recording AGI script, ID is 4321 +; first variable is format (gsm/wav) +; second variable is timeout in milliseconds (default is 360000 [6 minutes]) +exten => 8167,1,Answer +exten => 8167,2,AGI(agi-record_prompts.agi,wav-----360000) +exten => 8167,3,Hangup +exten => 8168,1,Answer +exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----360000) +exten => 8168,3,Hangup + +; playback of recorded prompts +exten => _851XXXXX,1,Answer +exten => _851XXXXX,2,Playback(${EXTEN}) +exten => _851XXXXX,3,Hangup + +#### VDAD STANDARD TRANSFER ENTRIES #### +; VICIDIAL_auto_dialer transfer script for no-agent campaigns: +exten => 8364,1,Playback(sip-silence) +exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8364,3,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) +exten => 8364,4,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) +exten => 8364,5,Hangup + +; VICIDIAL_auto_dialer transfer script: +exten => 8365,1,AGI(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +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 + +#### VDAD SIP UNREGISTERED TRANSFER ENTRIES #### +#### Use these entries IN PLACE OF the entries above if you are using SIP trunks +#### and are not registering your provider in sip.conf +; VICIDIAL_auto_dialer transfer script: +exten => 8365,1,Playback(sip-silence) +exten => 8365,2,AGI(agi://127.0.0.1:4577/call_log) +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,Playback(sip-silence) +exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log) +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,Playback(sip-silence) +exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log) +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,Playback(sip-silence) +exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log) +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,Playback(sip-silence) +exten => 8369,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8369,3,AMD(3500|1500|300|5000|120|50|5|256) +exten => 8369,4,AGI(VD_amd.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,Playback(sip-silence) +exten => 8372,2,AGI(agi://127.0.0.1:4577/call_log) +exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +exten => 8372,5,Hangup + + + +SUBPHASE 6.3: adding entries to your MySQL "asterisk" database for vicidial +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 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 into vicidial_conferences values('8600101','10.10.10.15',''); +insert into vicidial_conferences values('8600102','10.10.10.15',''); +insert into vicidial_conferences values('8600103','10.10.10.15',''); +insert into vicidial_conferences values('8600104','10.10.10.15',''); +insert into vicidial_conferences values('8600105','10.10.10.15',''); +insert into vicidial_conferences values('8600106','10.10.10.15',''); +insert into vicidial_conferences values('8600107','10.10.10.15',''); +insert into vicidial_conferences values('8600108','10.10.10.15',''); +insert into vicidial_conferences values('8600109','10.10.10.15',''); +insert into vicidial_conferences values('8600110','10.10.10.15',''); +insert into vicidial_conferences values('8600111','10.10.10.15',''); +insert into vicidial_conferences values('8600112','10.10.10.15',''); +insert into vicidial_conferences values('8600113','10.10.10.15',''); +insert into vicidial_conferences values('8600114','10.10.10.15',''); +insert into vicidial_conferences values('8600115','10.10.10.15',''); +insert into vicidial_conferences values('8600116','10.10.10.15',''); +insert into vicidial_conferences values('8600117','10.10.10.15',''); +insert into vicidial_conferences values('8600118','10.10.10.15',''); +insert into vicidial_conferences values('8600119','10.10.10.15',''); +insert into vicidial_conferences values('8600120','10.10.10.15',''); +insert into vicidial_conferences values('8600121','10.10.10.15',''); +insert into vicidial_conferences values('8600122','10.10.10.15',''); +insert into vicidial_conferences values('8600123','10.10.10.15',''); +insert into vicidial_conferences values('8600124','10.10.10.15',''); +insert into vicidial_conferences values('8600125','10.10.10.15',''); +insert into vicidial_conferences values('8600126','10.10.10.15',''); +insert into vicidial_conferences values('8600127','10.10.10.15',''); +insert into vicidial_conferences values('8600128','10.10.10.15',''); +insert into vicidial_conferences values('8600129','10.10.10.15',''); +insert into vicidial_conferences values('8600130','10.10.10.15',''); +insert into vicidial_conferences values('8600131','10.10.10.15',''); +insert into vicidial_conferences values('8600132','10.10.10.15',''); +insert into vicidial_conferences values('8600133','10.10.10.15',''); +insert into vicidial_conferences values('8600134','10.10.10.15',''); +insert into vicidial_conferences values('8600135','10.10.10.15',''); +insert into vicidial_conferences values('8600136','10.10.10.15',''); +insert into vicidial_conferences values('8600137','10.10.10.15',''); +insert into vicidial_conferences values('8600138','10.10.10.15',''); +insert into vicidial_conferences values('8600139','10.10.10.15',''); +insert into vicidial_conferences values('8600140','10.10.10.15',''); +insert into vicidial_conferences values('8600141','10.10.10.15',''); +insert into vicidial_conferences values('8600142','10.10.10.15',''); +insert into vicidial_conferences values('8600143','10.10.10.15',''); +insert into vicidial_conferences values('8600144','10.10.10.15',''); +insert into vicidial_conferences values('8600145','10.10.10.15',''); +insert into vicidial_conferences values('8600146','10.10.10.15',''); +insert into vicidial_conferences values('8600147','10.10.10.15',''); +insert into vicidial_conferences values('8600148','10.10.10.15',''); +insert into vicidial_conferences values('8600149','10.10.10.15',''); +insert into vicidial_conferences values('8600150','10.10.10.15',''); +insert into vicidial_conferences values('8600151','10.10.10.15',''); +insert into vicidial_conferences values('8600152','10.10.10.15',''); +insert into vicidial_conferences values('8600153','10.10.10.15',''); +insert into vicidial_conferences values('8600154','10.10.10.15',''); +insert into vicidial_conferences values('8600155','10.10.10.15',''); +insert into vicidial_conferences values('8600156','10.10.10.15',''); +insert into vicidial_conferences values('8600157','10.10.10.15',''); +insert into vicidial_conferences values('8600158','10.10.10.15',''); +insert into vicidial_conferences values('8600159','10.10.10.15',''); +insert into vicidial_conferences values('8600160','10.10.10.15',''); +insert into vicidial_conferences values('8600161','10.10.10.15',''); +insert into vicidial_conferences values('8600162','10.10.10.15',''); +insert into vicidial_conferences values('8600163','10.10.10.15',''); +insert into vicidial_conferences values('8600164','10.10.10.15',''); +insert into vicidial_conferences values('8600165','10.10.10.15',''); +insert into vicidial_conferences values('8600166','10.10.10.15',''); +insert into vicidial_conferences values('8600167','10.10.10.15',''); +insert into vicidial_conferences values('8600168','10.10.10.15',''); +insert into vicidial_conferences values('8600169','10.10.10.15',''); +insert into vicidial_conferences values('8600170','10.10.10.15',''); +insert into vicidial_conferences values('8600171','10.10.10.15',''); +insert into vicidial_conferences values('8600172','10.10.10.15',''); +insert into vicidial_conferences values('8600173','10.10.10.15',''); +insert into vicidial_conferences values('8600174','10.10.10.15',''); +insert into vicidial_conferences values('8600175','10.10.10.15',''); +insert into vicidial_conferences values('8600176','10.10.10.15',''); +insert into vicidial_conferences values('8600177','10.10.10.15',''); +insert into vicidial_conferences values('8600178','10.10.10.15',''); +insert into vicidial_conferences values('8600179','10.10.10.15',''); +insert into vicidial_conferences values('8600180','10.10.10.15',''); +insert into vicidial_conferences values('8600181','10.10.10.15',''); +insert into vicidial_conferences values('8600182','10.10.10.15',''); +insert into vicidial_conferences values('8600183','10.10.10.15',''); +insert into vicidial_conferences values('8600184','10.10.10.15',''); +insert into vicidial_conferences values('8600185','10.10.10.15',''); +insert into vicidial_conferences values('8600186','10.10.10.15',''); +insert into vicidial_conferences values('8600187','10.10.10.15',''); +insert into vicidial_conferences values('8600188','10.10.10.15',''); +insert into vicidial_conferences values('8600189','10.10.10.15',''); +insert into vicidial_conferences values('8600190','10.10.10.15',''); +insert into vicidial_conferences values('8600191','10.10.10.15',''); +insert into vicidial_conferences values('8600192','10.10.10.15',''); +insert into vicidial_conferences values('8600193','10.10.10.15',''); +insert into vicidial_conferences values('8600194','10.10.10.15',''); +insert into vicidial_conferences values('8600195','10.10.10.15',''); +insert into vicidial_conferences values('8600196','10.10.10.15',''); +insert into vicidial_conferences values('8600197','10.10.10.15',''); +insert into vicidial_conferences values('8600198','10.10.10.15',''); +insert into vicidial_conferences values('8600199','10.10.10.15',''); +insert into vicidial_conferences values('8600200','10.10.10.15',''); + +######------ END Mysql data entry ------###### + + + +SUBPHASE 6.4: setting up asterisk and helper applications for startup + +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): + +# OPTIONAL enable ip_relay(for same-machine trunking and blind monitoring) +# /usr/share/astguiclient/ip_relay/relay_control start 2>/dev/null 1>&2 + +# Disable console blanking and powersaving +/usr/bin/setterm -blank +/usr/bin/setterm -powersave off +/usr/bin/setterm -powerdown + +### 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 MySQL 4.1.X server (with old passwords) +/usr/local/mysql/bin/safe_mysqld --old-passwords --skip-name-resolve --skip-host-cache & + +### start up the apache web server +/usr/local/apache2/bin/apachectl start + +### roll the Asterisk logs upon reboot +/usr/share/astguiclient/ADMIN_restart_roll_logs.pl + +### clear the server-related records from the database +/usr/share/astguiclient/AST_reset_mysql_vars.pl + +### load digium tormenta 4xT1 drivers into system +modprobe zaptel +modprobe wct1xxp +/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 + + + + +SUBPHASE 6.5: setting up astguiclient scripts for continuous running + +1. Make several entries in the crontab of your system: + - on the command line type: + - cd /usr/share/astguiclient + - crontab -e + - add the following entries(here's what we used): + +### 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 --GSM +#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 --GSM + +### 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 18.145.0.30 2>/dev/null 1>&2 + +### VICIDIAL agent time log weekly and daily summary report generation +2 0 * * 0 /usr/share/astguiclient/AST_agent_week.pl +22 0 * * * /usr/share/astguiclient/AST_agent_day.pl + +### VICIDIAL campaign export scripts (OPTIONAL) +#32 0 * * * /usr/share/astguiclient/AST_VDsales_export.pl +#42 0 * * * /usr/share/astguiclient/AST_sourceID_summary_export.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 + + + + + - once your system starts up you can attach to the screen running asterisk by +typing "screen -r " 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 + +NOTES: +- The AST_agent_day.pl and AST_agent_week.pl scripts create an ASCII fixed-length report of all agent activity on the system +- The AST_VDsales_export.pl script allows for the exporting(into several different formats) of specified vicidial_list data based on status and campaign as well as inbound group +- The AST_sourceID_summary_export.pl script summarizes leads in the system by source_id and generates a text report + + + + + +SUBPHASE 6.6: adding test leads to the VICIDIAL database and configuring a +VICIDIAL 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 that was made available as of the 1.1.1 +release and is accessible from the VICIDIAL admin.php web page(click on the +"LOAD NEW LEADS" link 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. + +Second we need to add the disposition statuses into the system, all of these +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) # + +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','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('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('XFER','Call Transferred','Y','Y','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. +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 --postal-code-gmt + +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.1, 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 + + + +SUBPHASE 6.7: 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 + + + +SUBPHASE 6.8: astGUIclient web-only client: + +With 1.1.1 release of astguiclient we have completely rewritten the astGUIclient +client app in AJAX(PHP/Javascript/XMLHTTPRequest) to enable a full, real-time +GUI interface using only a web browser. The browser requirements for this 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 6.0 + +This new version also has more flexibility and functionality than the perl/Tk +version as well as being prettier. We have successfully tested this on many +platforms and in remote locations. It functioned wonderfully off-site with one +of our IAX hardphones and offers a lot of promise for road warriors who need +a lot of options on their phone usage like conferencing and a detailed call log. + +To log into this app you will need a login setup in the vicidial_users table +with a user_level of 1 or greater 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 phone information, voicemail display and your inbound/ +outbound phone call log. + +The example web page you would go to on this installation would be: +http://10.10.10.15/agc/astguiclient.php + +The inbound log and callerID popup is dependant on having a call_inbound.agi +entry in your dialplan before you phone is dialed(see subphase 6.2 step 2) + +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_www directory +and can be unzipped into your webroot directory. + + + +SUBPHASE 6.9: VICIDIAL web-only client: + +NOTE: There is a VICIDIAL Agent manual available from http://www.eflo.net + +With 1.1.6 release of astguiclient we have finished the rewrite of the VICIDIAL +client app in AJAX(PHP/Javascript/XMLHTTPRequest) to enable a full, real-time +GUI interface using only a web browser like we have done with astGUIclient. +The browser requirements for this 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 6.0 + +This version is fully functional and has been tested in our production +call center with no problems. + +To log into this app you will need a login setup in the vicidial_users table +with a user_level of 1 or greater 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 +VICIDIAL screen with your phone information. + +The example web page you would go to on this installation would be: +http://10.10.10.15/agc/vicidial.php + +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 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. + +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_www directory +and can be unzipped into your webroot directory. + +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 7.0: You are done with installation + +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. *** + +End-user Manuals for Agents and Managers are available from http://www.eflo.net diff --git a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/dnsmgr.conf.sample b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/dnsmgr.conf.sample index 160aecc4..1215e584 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/dnsmgr.conf.sample +++ b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/dnsmgr.conf.sample @@ -1,3 +1,3 @@ -[general] -enable=yes ; enable creation of managed DNS lookups -refreshinterval=300 ; refresh managed DNS lookups every seconds +[general] +enable=yes ; enable creation of managed DNS lookups +refreshinterval=300 ; refresh managed DNS lookups every seconds diff --git a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/extensions.conf.sample b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/extensions.conf.sample index f5c087e9..50a64a5c 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/extensions.conf.sample +++ b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/extensions.conf.sample @@ -1,514 +1,514 @@ -[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 -TRUNKloop = IAX2/ASTloop:test@127.0.0.1:40569 ; used for blind monitoring -TRUNKblind = IAX2/ASTblind:test@127.0.0.1:41569 ; used for testing - - -[default] -; VICI-GROUP DIRECT SUPPORT LINE (VICIHELP[84244357]) -exten => _84244XXX,1,Dial(IAX2/vicihelp/${EXTEN:5}) - -; BE SURE TO CHANGE THIS LINE FOR YOUR IP ADDRESS! -exten => _010*010*010*015*.,1,Goto(default,${EXTEN:16},1) -exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) -exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) -; Local blind monitoring -exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) - -; ### server 2 exten: -; exten => _010*010*010*016*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o) - - -; Example phone extensions - -; Extension 2000 Sipura/Linksys ATA 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/Linksys ATA line 2 -exten => 2001,1,Dial(sip/spa2001,30,to) ; Ring, 30 secs max -exten => 2001,2,Voicemail,u2001 ; Send to voicemail... -; Extension 2102 rings Grandstream phone -exten => 2102,1,Dial(sip/gs102,30,to) ; Ring, 30 secs max -exten => 2102,2,Voicemail,u2102 ; Send to voicemail... -; Extension 401 rings the firefly softphone -exten => 401,1,Dial((IAX2/firefly01@firefly01/s||t) -exten => 401,2,Hangup - -; extensions for other SIP and IAX call center phones -; cc100-cc150 SIP Phones -exten => _1[0-5]X,1,Dial(sip/cc${EXTEN},20,to) -; cc300-cc350 IAX Phones -exten => _3[0-5]X,1,Dial(IAX2/cc${EXTEN},20,to) - -; extensions if using a T1 channelbank -exten => _19XX,1,Dial(Zap/${EXTEN:2},30,o) -exten => _19XX,2,Hangup - -; Extension 4001 rings Zap phone (this example for FXS on Zap port 1) -exten => 4001,1,Dial(Zap/1,30,o) ; ring Zap device 1 -exten => 4001,2,Voicemail,u4001 ; Send to voicemail... - - -; # 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) - -; FastAGI for VICIDIAL/astGUIclient call logging -exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) - -; Inbound call from BINFONE -; exten => 1112223333,1,AGI(agi://127.0.0.1:4577/call_log) -; 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(agi://127.0.0.1:4577/call_log--fullCID--${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 -; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, -exten => _901144XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _901144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,To) -exten => _901144XXXXXXXXXX,3,Hangup - -; dial a long distance outbound number to Australia -; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, -exten => _901161XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) -exten => _901161XXXXXXXXX,3,Hangup - -; Extensions for performance testing -exten => _91999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91999NXXXXXX,2,Dial(${TRUNKloop}/${EXTEN:2},,tTo) -exten => _91999NXXXXXX,3,Hangup -exten => 999999999999,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 999999999999,2,Dial(${TRUNKloop}/${EXTEN:1},,tTo) -exten => 999999999999,3,Hangup - -; dial an 800 outbound number -exten => _91800NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) -exten => _91800NXXXXXX,3,Hangup -exten => _91888NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) -exten => _91888NXXXXXX,3,Hangup -exten => _91877NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) -exten => _91877NXXXXXX,3,Hangup -exten => _91866NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) -exten => _91866NXXXXXX,3,Hangup - -; dial a local outbound number (modified because of only LD T1) -exten => _9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,To) -exten => _9NXXXXXX,3,Hangup - -; dial a local 727 outbound number with area code -exten => _9727NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,To) -exten => _9727NXXXXXX,3,Hangup - -; dial a long distance outbound number -; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls -exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) -exten => _91NXXNXXXXXX,3,Hangup -; dial a long distance outbound number through BINFONE -; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -; exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN:1},55,To) -; exten => _91NXXNXXXXXX,3,Hangup -; dial a long distance outbound number through a SIP provider -; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -; exten => _91NXXNXXXXXX,2,Dial(sip/${EXTEN:1}@SIPtrunk,55,o) -; exten => _91NXXNXXXXXX,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 -; This is not part of VICIDIAL, it is for astGUIclient agent use only - -; Extension 3429 - Inbound 800 number (1-800-555-3429) example of RBS T1 -; with 10 digit ANI and 4 digit DNIS star separated -exten => _**3429,1,Ringing -exten => _**3429,2,AGI(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) -exten => _*NXXNXXXXXX*3429,4,Answer -exten => _*NXXNXXXXXX*3429,5,Dial(sip/spa2000&sip/spa2001,30,to) -exten => _*NXXNXXXXXX*3429,6,Voicemail,u2000 - - -; parameters for agi-VDAD_ALL_inbound.agi (9 fields separated by five dashes "-----"): -; 1. the method of call handling for the script: -; - CID - CID received, add record with phone number -; - CIDLOOKUP - Lookup CID to find record in whole system -; - CIDLOOKUPRL - Restrict lookup to one list -; - CIDLOOKUPRC - Restrict lookup to one campaign's lists -; - CLOSER - Closer calls from VICIDIAL fronters -; - ANI - ANI received, add record with phone number -; - ANILOOKUP - Lookup ANI to find record in whole system -; - ANILOOKUPRL - Restrict lookup to one list -; - 3DIGITID - Enter 3 digit code to go to agent -; - 4DIGITID - Enter 4 digit code to go to agent -; - 5DIGITID - Enter 5 digit code to go to agent -; - 10DIGITID - Enter 10 digit code to go to agent -; 2. the method of searching for an available agent: -; - LO - Load Balance Overflow only (priority to home server) -; - LB - Load Balance total system -; - SO - Home server only -; 3. the full name of the IN GROUP to be used in vicidial for the inbound call -; 4. the phone number that was called, for the log entry -; 5. the callerID or lead_id of the person that called(usually overridden) -; 6. the park extension audio file name if used -; 7. the status of the call initially(usually not used) -; 8. the list_id to insert the new lead under if it is new (and CID/ANI available) -; 9. the phone dialing code to insert with the new lead if new (and CID/ANI available) -; 10. the campaign_id to search within lists if CIDLOOKUPRC -; inbound VICIDIAL call with CID delivery through T1 PRI -exten => 1234,1,Answer ; Answer the line -exten => 1234,2,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----CL_GALLERIA-----7274515134-----Closer-----park----------999-----1) -exten => 1234,3,Hangup - -; inbound VICIDIAL transfer calls [can arrive through PRI T1 crossover, IAX or SIP channel] -exten => _90009.,1,Answer ; Answer the line -exten => _90009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) -exten => _90009.,3,Hangup -exten => _990009.,1,Answer ; Answer the line -exten => _990009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) -exten => _990009.,3,Hangup - - -; barge monitoring extension -exten => 8159,1,ZapBarge -exten => 8159,2,Hangup - -; ZapBarge direct channel extensions -exten => _86120XX,1,ZapBarge(${EXTEN:5}) - - -exten => _X48600XXX,1,MeetMeAdmin(${EXTEN:2},T,${EXTEN:0:1}) -exten => _X48600XXX,2,Hangup - -exten => _X38600XXX,1,MeetMeAdmin(${EXTEN:2},t,${EXTEN:0:1}) -exten => _X38600XXX,2,Hangup - -exten => _X28600XXX,1,MeetMeAdmin(${EXTEN:2},m,${EXTEN:0:1}) -exten => _X28600XXX,2,Hangup - -exten => _X18600XXX,1,MeetMeAdmin(${EXTEN:2},M,${EXTEN:0:1}) -exten => _X18600XXX,2,Hangup - -exten => _55558600XXX,1,MeetMeAdmin(${EXTEN:4},K) -exten => _55558600XXX,2,Hangup -exten => 8300,1,Hangup - -; astGUIclient conferences -exten => _86000[0-4]X,1,Meetme,${EXTEN}|q -; VICIDIAL conferences -exten => _86000[5-9]X,1,Meetme,${EXTEN}|F -exten => _86001XX,1,Meetme,${EXTEN}|F -exten => _8600200,1,Meetme,${EXTEN}|F -; quiet entry and leaving conferences for VICIDIAL -exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq -; quiet monitor extensions for meetme rooms (for room managers) -exten => _68600XXX,1,Meetme,${EXTEN:1}|Fmq - -; voicelab exten -exten => _86009XX,1,Meetme,${EXTEN}|Fmq -; voicelab exten moderator -exten => _986009XX,1,Meetme,${EXTEN:1} - - - -; 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 - -exten => 8304,1,Answer -exten => 8304,2,Playback(ding) -exten => 8304,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) -; Recording is limited to 1 hour, to make longer, just change the Wait,3600 -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) -; Recording is limited to 1 hour, to make longer, just change the Wait,3600 -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 - -; use for selective CallerID hangup by area code(hard-coded) -exten => 8352,1,AGI(agi-VDADselective_CID_hangup.agi,${EXTEN}) -exten => 8352,2,Playback(safe_harbor) -exten => 8352,3,Hangup - -; prompts for recording AGI script, ID is 4321 -; first variable is format (gsm/wav) -; second variable is timeout in milliseconds (default is 720000 [12 minutes]) -exten => 8167,1,Answer -exten => 8167,2,AGI(agi-record_prompts.agi,wav-----720000) -exten => 8167,3,Hangup -exten => 8168,1,Answer -exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----720000) -exten => 8168,3,Hangup - -; playback of recorded prompts -exten => _851XXXXX,1,Answer -exten => _851XXXXX,2,Playback(${EXTEN}) -exten => _851XXXXX,3,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(1) -exten => _85026666666666.,2,Voicemail(${EXTEN:14}|u) -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 - -;#### VDAD STANDARD TRANSFER ENTRIES #### -; VICIDIAL_auto_dialer transfer script for no-agent campaigns: -exten => 8364,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8364,2,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) -exten => 8364,3,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) -exten => 8364,4,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) -exten => 8364,5,Hangup - -; VICIDIAL_auto_dialer transfer script: -exten => 8365,1,AGI(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -exten => 8369,2,AMD(2000|2000|1000|5000|120|50|4|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(agi://127.0.0.1:4577/call_log) -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 - -;#### VDAD SIP UNREGISTERED TRANSFER ENTRIES #### -;#### Use these entries IN PLACE OF the entries above if you are using SIP trunks -;#### and are not registering your provider in sip.conf -;; VICIDIAL_auto_dialer transfer script for no-agent campaigns: -;exten => 8364,1,Playback(sip-silence) -;exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8364,3,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) -;exten => 8364,4,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) -;exten => 8364,5,Hangup -; -;; VICIDIAL_auto_dialer transfer script: -;exten => 8365,1,Playback(sip-silence) -;exten => 8365,2,AGI(agi://127.0.0.1:4577/call_log) -;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,Playback(sip-silence) -;exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log) -;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,Playback(sip-silence) -;exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log) -;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,Playback(sip-silence) -;exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log) -;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,Playback(sip-silence) -;exten => 8369,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8369,3,AMD(2000|2000|1000|5000|120|50|4|256) -;exten => 8369,4,AGI(VD_amd.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,Playback(sip-silence) -;exten => 8372,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) -;exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) -;exten => 8372,5,Hangup - - - -; PERFORMANCE TESTING -exten => _999XXXXXX1,1,Answer -exten => _999XXXXXX1,2,Wait(2) -exten => _999XXXXXX1,3,Playback(beep) -exten => _999XXXXXX1,4,Hangup - -exten => _999XXXX112,1,Wait(8) -exten => _999XXXX112,2,Answer -exten => _999XXXX112,3,Playback(demo-instruct) -exten => _999XXXX112,4,Playback(demo-instruct) -exten => _999XXXX112,5,Hangup - -exten => _999XXXXXX2,1,Wait(8) -exten => _999XXXXXX2,2,Answer -exten => _999XXXXXX2,3,Playback(demo-instruct) -exten => _999XXXXXX2,4,Hangup - -exten => _999XXXXXX3,1,SetVar(PRI_CAUSE=1) -exten => _999XXXXXX3,2,Hangup - -exten => _999XXXXXX4,1,SetVar(PRI_CAUSE=27) -exten => _999XXXXXX4,2,Hangup - -exten => _999XXXXXX5,1,Wait(60) -exten => _999XXXXXX5,2,Hangup - -exten => _999XXXXXX6,1,Wait(10) -exten => _999XXXXXX6,2,Answer -exten => _999XXXXXX6,3,Playback(demo-instruct) -exten => _999XXXXXX6,4,Hangup - -exten => _999XXXXXX7,1,Wait(12) -exten => _999XXXXXX7,2,Answer -exten => _999XXXXXX7,3,Playback(demo-enterkeywords) -exten => _999XXXXXX7,4,Hangup - -exten => _999XXXXXX8,1,SetVar(PRI_CAUSE=17) -exten => _999XXXXXX8,2,Hangup - -exten => _999XXXXXX9,1,Wait(6) -exten => _999XXXXXX9,2,Answer -exten => _999XXXXXX9,3,Playback(demo-abouttotry) -exten => _999XXXXXX9,4,Hangup - -exten => _999XXXXXX0,1,Wait(5) -exten => _999XXXXXX0,2,Answer -exten => _999XXXXXX0,3,Playback(vm-goodbye) -exten => _999XXXXXX0,4,Hangup - -exten => 99999999999,1,Answer -exten => 99999999999,2,Playback(conf) -exten => 99999999999,3,Playback(conf) -exten => 99999999999,4,Playback(conf) -exten => 99999999999,5,Playback(conf) -exten => 99999999999,6,Playback(conf) -exten => 99999999999,7,Playback(conf) -exten => 99999999999,8,Playback(conf) -exten => 99999999999,9,Playback(conf) -exten => 99999999999,10,Playback(conf) -exten => 99999999999,11,Playback(conf) -exten => 99999999999,12,Playback(conf) -exten => 99999999999,13,Playback(conf) -exten => 99999999999,14,Hangup +[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 +TRUNKloop = IAX2/ASTloop:test@127.0.0.1:40569 ; used for blind monitoring +TRUNKblind = IAX2/ASTblind:test@127.0.0.1:41569 ; used for testing + + +[default] +; VICI-GROUP DIRECT SUPPORT LINE (VICIHELP[84244357]) +exten => _84244XXX,1,Dial(IAX2/vicihelp/${EXTEN:5}) + +; BE SURE TO CHANGE THIS LINE FOR YOUR IP ADDRESS! +exten => _010*010*010*015*.,1,Goto(default,${EXTEN:16},1) +exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +; Local blind monitoring +exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) + +; ### server 2 exten: +; exten => _010*010*010*016*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o) + + +; Example phone extensions + +; Extension 2000 Sipura/Linksys ATA 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/Linksys ATA line 2 +exten => 2001,1,Dial(sip/spa2001,30,to) ; Ring, 30 secs max +exten => 2001,2,Voicemail,u2001 ; Send to voicemail... +; Extension 2102 rings Grandstream phone +exten => 2102,1,Dial(sip/gs102,30,to) ; Ring, 30 secs max +exten => 2102,2,Voicemail,u2102 ; Send to voicemail... +; Extension 401 rings the firefly softphone +exten => 401,1,Dial((IAX2/firefly01@firefly01/s||t) +exten => 401,2,Hangup + +; extensions for other SIP and IAX call center phones +; cc100-cc150 SIP Phones +exten => _1[0-5]X,1,Dial(sip/cc${EXTEN},20,to) +; cc300-cc350 IAX Phones +exten => _3[0-5]X,1,Dial(IAX2/cc${EXTEN},20,to) + +; extensions if using a T1 channelbank +exten => _19XX,1,Dial(Zap/${EXTEN:2},30,o) +exten => _19XX,2,Hangup + +; Extension 4001 rings Zap phone (this example for FXS on Zap port 1) +exten => 4001,1,Dial(Zap/1,30,o) ; ring Zap device 1 +exten => 4001,2,Voicemail,u4001 ; Send to voicemail... + + +; # 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) + +; FastAGI for VICIDIAL/astGUIclient call logging +exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) + +; Inbound call from BINFONE +; exten => 1112223333,1,AGI(agi://127.0.0.1:4577/call_log) +; 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(agi://127.0.0.1:4577/call_log--fullCID--${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 +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, +exten => _901144XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _901144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,To) +exten => _901144XXXXXXXXXX,3,Hangup + +; dial a long distance outbound number to Australia +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, +exten => _901161XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) +exten => _901161XXXXXXXXX,3,Hangup + +; Extensions for performance testing +exten => _91999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91999NXXXXXX,2,Dial(${TRUNKloop}/${EXTEN:2},,tTo) +exten => _91999NXXXXXX,3,Hangup +exten => 999999999999,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 999999999999,2,Dial(${TRUNKloop}/${EXTEN:1},,tTo) +exten => 999999999999,3,Hangup + +; dial an 800 outbound number +exten => _91800NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91800NXXXXXX,3,Hangup +exten => _91888NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91888NXXXXXX,3,Hangup +exten => _91877NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91877NXXXXXX,3,Hangup +exten => _91866NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91866NXXXXXX,3,Hangup + +; dial a local outbound number (modified because of only LD T1) +exten => _9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,To) +exten => _9NXXXXXX,3,Hangup + +; dial a local 727 outbound number with area code +exten => _9727NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,To) +exten => _9727NXXXXXX,3,Hangup + +; dial a long distance outbound number +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls +exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) +exten => _91NXXNXXXXXX,3,Hangup +; dial a long distance outbound number through BINFONE +; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN:1},55,To) +; exten => _91NXXNXXXXXX,3,Hangup +; dial a long distance outbound number through a SIP provider +; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91NXXNXXXXXX,2,Dial(sip/${EXTEN:1}@SIPtrunk,55,o) +; exten => _91NXXNXXXXXX,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 +; This is not part of VICIDIAL, it is for astGUIclient agent use only + +; Extension 3429 - Inbound 800 number (1-800-555-3429) example of RBS T1 +; with 10 digit ANI and 4 digit DNIS star separated +exten => _**3429,1,Ringing +exten => _**3429,2,AGI(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) +exten => _*NXXNXXXXXX*3429,4,Answer +exten => _*NXXNXXXXXX*3429,5,Dial(sip/spa2000&sip/spa2001,30,to) +exten => _*NXXNXXXXXX*3429,6,Voicemail,u2000 + + +; parameters for agi-VDAD_ALL_inbound.agi (9 fields separated by five dashes "-----"): +; 1. the method of call handling for the script: +; - CID - CID received, add record with phone number +; - CIDLOOKUP - Lookup CID to find record in whole system +; - CIDLOOKUPRL - Restrict lookup to one list +; - CIDLOOKUPRC - Restrict lookup to one campaign's lists +; - CLOSER - Closer calls from VICIDIAL fronters +; - ANI - ANI received, add record with phone number +; - ANILOOKUP - Lookup ANI to find record in whole system +; - ANILOOKUPRL - Restrict lookup to one list +; - 3DIGITID - Enter 3 digit code to go to agent +; - 4DIGITID - Enter 4 digit code to go to agent +; - 5DIGITID - Enter 5 digit code to go to agent +; - 10DIGITID - Enter 10 digit code to go to agent +; 2. the method of searching for an available agent: +; - LO - Load Balance Overflow only (priority to home server) +; - LB - Load Balance total system +; - SO - Home server only +; 3. the full name of the IN GROUP to be used in vicidial for the inbound call +; 4. the phone number that was called, for the log entry +; 5. the callerID or lead_id of the person that called(usually overridden) +; 6. the park extension audio file name if used +; 7. the status of the call initially(usually not used) +; 8. the list_id to insert the new lead under if it is new (and CID/ANI available) +; 9. the phone dialing code to insert with the new lead if new (and CID/ANI available) +; 10. the campaign_id to search within lists if CIDLOOKUPRC +; inbound VICIDIAL call with CID delivery through T1 PRI +exten => 1234,1,Answer ; Answer the line +exten => 1234,2,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----CL_GALLERIA-----7274515134-----Closer-----park----------999-----1) +exten => 1234,3,Hangup + +; inbound VICIDIAL transfer calls [can arrive through PRI T1 crossover, IAX or SIP channel] +exten => _90009.,1,Answer ; Answer the line +exten => _90009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) +exten => _90009.,3,Hangup +exten => _990009.,1,Answer ; Answer the line +exten => _990009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) +exten => _990009.,3,Hangup + + +; barge monitoring extension +exten => 8159,1,ZapBarge +exten => 8159,2,Hangup + +; ZapBarge direct channel extensions +exten => _86120XX,1,ZapBarge(${EXTEN:5}) + + +exten => _X48600XXX,1,MeetMeAdmin(${EXTEN:2},T,${EXTEN:0:1}) +exten => _X48600XXX,2,Hangup + +exten => _X38600XXX,1,MeetMeAdmin(${EXTEN:2},t,${EXTEN:0:1}) +exten => _X38600XXX,2,Hangup + +exten => _X28600XXX,1,MeetMeAdmin(${EXTEN:2},m,${EXTEN:0:1}) +exten => _X28600XXX,2,Hangup + +exten => _X18600XXX,1,MeetMeAdmin(${EXTEN:2},M,${EXTEN:0:1}) +exten => _X18600XXX,2,Hangup + +exten => _55558600XXX,1,MeetMeAdmin(${EXTEN:4},K) +exten => _55558600XXX,2,Hangup +exten => 8300,1,Hangup + +; astGUIclient conferences +exten => _86000[0-4]X,1,Meetme,${EXTEN}|q +; VICIDIAL conferences +exten => _86000[5-9]X,1,Meetme,${EXTEN}|F +exten => _86001XX,1,Meetme,${EXTEN}|F +exten => _8600200,1,Meetme,${EXTEN}|F +; quiet entry and leaving conferences for VICIDIAL +exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq +; quiet monitor extensions for meetme rooms (for room managers) +exten => _68600XXX,1,Meetme,${EXTEN:1}|Fmq + +; voicelab exten +exten => _86009XX,1,Meetme,${EXTEN}|Fmq +; voicelab exten moderator +exten => _986009XX,1,Meetme,${EXTEN:1} + + + +; 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 + +exten => 8304,1,Answer +exten => 8304,2,Playback(ding) +exten => 8304,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) +; Recording is limited to 1 hour, to make longer, just change the Wait,3600 +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) +; Recording is limited to 1 hour, to make longer, just change the Wait,3600 +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 + +; use for selective CallerID hangup by area code(hard-coded) +exten => 8352,1,AGI(agi-VDADselective_CID_hangup.agi,${EXTEN}) +exten => 8352,2,Playback(safe_harbor) +exten => 8352,3,Hangup + +; prompts for recording AGI script, ID is 4321 +; first variable is format (gsm/wav) +; second variable is timeout in milliseconds (default is 720000 [12 minutes]) +exten => 8167,1,Answer +exten => 8167,2,AGI(agi-record_prompts.agi,wav-----720000) +exten => 8167,3,Hangup +exten => 8168,1,Answer +exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----720000) +exten => 8168,3,Hangup + +; playback of recorded prompts +exten => _851XXXXX,1,Answer +exten => _851XXXXX,2,Playback(${EXTEN}) +exten => _851XXXXX,3,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(1) +exten => _85026666666666.,2,Voicemail(${EXTEN:14}|u) +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 + +;#### VDAD STANDARD TRANSFER ENTRIES #### +; VICIDIAL_auto_dialer transfer script for no-agent campaigns: +exten => 8364,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 8364,2,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) +exten => 8364,3,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) +exten => 8364,4,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) +exten => 8364,5,Hangup + +; VICIDIAL_auto_dialer transfer script: +exten => 8365,1,AGI(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +exten => 8369,2,AMD(2000|2000|1000|5000|120|50|4|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(agi://127.0.0.1:4577/call_log) +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 + +;#### VDAD SIP UNREGISTERED TRANSFER ENTRIES #### +;#### Use these entries IN PLACE OF the entries above if you are using SIP trunks +;#### and are not registering your provider in sip.conf +;; VICIDIAL_auto_dialer transfer script for no-agent campaigns: +;exten => 8364,1,Playback(sip-silence) +;exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log) +;exten => 8364,3,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) +;exten => 8364,4,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) +;exten => 8364,5,Hangup +; +;; VICIDIAL_auto_dialer transfer script: +;exten => 8365,1,Playback(sip-silence) +;exten => 8365,2,AGI(agi://127.0.0.1:4577/call_log) +;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,Playback(sip-silence) +;exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log) +;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,Playback(sip-silence) +;exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log) +;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,Playback(sip-silence) +;exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log) +;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,Playback(sip-silence) +;exten => 8369,2,AGI(agi://127.0.0.1:4577/call_log) +;exten => 8369,3,AMD(2000|2000|1000|5000|120|50|4|256) +;exten => 8369,4,AGI(VD_amd.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,Playback(sip-silence) +;exten => 8372,2,AGI(agi://127.0.0.1:4577/call_log) +;exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +;exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +;exten => 8372,5,Hangup + + + +; PERFORMANCE TESTING +exten => _999XXXXXX1,1,Answer +exten => _999XXXXXX1,2,Wait(2) +exten => _999XXXXXX1,3,Playback(beep) +exten => _999XXXXXX1,4,Hangup + +exten => _999XXXX112,1,Wait(8) +exten => _999XXXX112,2,Answer +exten => _999XXXX112,3,Playback(demo-instruct) +exten => _999XXXX112,4,Playback(demo-instruct) +exten => _999XXXX112,5,Hangup + +exten => _999XXXXXX2,1,Wait(8) +exten => _999XXXXXX2,2,Answer +exten => _999XXXXXX2,3,Playback(demo-instruct) +exten => _999XXXXXX2,4,Hangup + +exten => _999XXXXXX3,1,SetVar(PRI_CAUSE=1) +exten => _999XXXXXX3,2,Hangup + +exten => _999XXXXXX4,1,SetVar(PRI_CAUSE=27) +exten => _999XXXXXX4,2,Hangup + +exten => _999XXXXXX5,1,Wait(60) +exten => _999XXXXXX5,2,Hangup + +exten => _999XXXXXX6,1,Wait(10) +exten => _999XXXXXX6,2,Answer +exten => _999XXXXXX6,3,Playback(demo-instruct) +exten => _999XXXXXX6,4,Hangup + +exten => _999XXXXXX7,1,Wait(12) +exten => _999XXXXXX7,2,Answer +exten => _999XXXXXX7,3,Playback(demo-enterkeywords) +exten => _999XXXXXX7,4,Hangup + +exten => _999XXXXXX8,1,SetVar(PRI_CAUSE=17) +exten => _999XXXXXX8,2,Hangup + +exten => _999XXXXXX9,1,Wait(6) +exten => _999XXXXXX9,2,Answer +exten => _999XXXXXX9,3,Playback(demo-abouttotry) +exten => _999XXXXXX9,4,Hangup + +exten => _999XXXXXX0,1,Wait(5) +exten => _999XXXXXX0,2,Answer +exten => _999XXXXXX0,3,Playback(vm-goodbye) +exten => _999XXXXXX0,4,Hangup + +exten => 99999999999,1,Answer +exten => 99999999999,2,Playback(conf) +exten => 99999999999,3,Playback(conf) +exten => 99999999999,4,Playback(conf) +exten => 99999999999,5,Playback(conf) +exten => 99999999999,6,Playback(conf) +exten => 99999999999,7,Playback(conf) +exten => 99999999999,8,Playback(conf) +exten => 99999999999,9,Playback(conf) +exten => 99999999999,10,Playback(conf) +exten => 99999999999,11,Playback(conf) +exten => 99999999999,12,Playback(conf) +exten => 99999999999,13,Playback(conf) +exten => 99999999999,14,Hangup diff --git a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/extensions.conf.sample-1.4 b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/extensions.conf.sample-1.4 index afd864d0..a47d45aa 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/extensions.conf.sample-1.4 +++ b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/extensions.conf.sample-1.4 @@ -1,514 +1,514 @@ -[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 -TRUNKloop = IAX2/ASTloop:test@127.0.0.1:40569 ; used for blind monitoring -TRUNKblind = IAX2/ASTblind:test@127.0.0.1:41569 ; used for testing - - -[default] -; VICI-GROUP DIRECT SUPPORT LINE (VICIHELP[84244357]) -exten => _84244XXX,1,Dial(IAX2/vicihelp/${EXTEN:5}) - -; BE SURE TO CHANGE THIS LINE FOR YOUR IP ADDRESS! -exten => _010*010*010*015*.,1,Goto(default,${EXTEN:16},1) -exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) -exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) -; Local blind monitoring -exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) - -; ### server 2 exten: -; exten => _010*010*010*016*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o) - - -; Example phone extensions - -; Extension 2000 Sipura/Linksys ATA 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/Linksys ATA line 2 -exten => 2001,1,Dial(sip/spa2001,30,to) ; Ring, 30 secs max -exten => 2001,2,Voicemail,u2001 ; Send to voicemail... -; Extension 2102 rings Grandstream phone -exten => 2102,1,Dial(sip/gs102,30,to) ; Ring, 30 secs max -exten => 2102,2,Voicemail,u2102 ; Send to voicemail... -; Extension 401 rings the firefly softphone -exten => 401,1,Dial((IAX2/firefly01@firefly01/s||t) -exten => 401,2,Hangup - -; extensions for other SIP and IAX call center phones -; cc100-cc150 SIP Phones -exten => _1[0-5]X,1,Dial(sip/cc${EXTEN},20,to) -; cc300-cc350 IAX Phones -exten => _3[0-5]X,1,Dial(IAX2/cc${EXTEN},20,to) - -; extensions if using a T1 channelbank -exten => _19XX,1,Dial(Zap/${EXTEN:2},30,o) -exten => _19XX,2,Hangup - -; Extension 4001 rings Zap phone (this example for FXS on Zap port 1) -exten => 4001,1,Dial(Zap/1,30,o) ; ring Zap device 1 -exten => 4001,2,Voicemail,u4001 ; Send to voicemail... - - -; # 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) - -; FastAGI for VICIDIAL/astGUIclient call logging -exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) - -; Inbound call from BINFONE -; exten => 1112223333,1,AGI(agi://127.0.0.1:4577/call_log) -; 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(agi://127.0.0.1:4577/call_log--fullCID--${EXTEN}-----{CALLERID(all)}-----${CALLERID(num)}-----${CALLERID(name)}) -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 -; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, -exten => _901144XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _901144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,To) -exten => _901144XXXXXXXXXX,3,Hangup - -; dial a long distance outbound number to Australia -; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, -exten => _901161XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) -exten => _901161XXXXXXXXX,3,Hangup - -; Extensions for performance testing -exten => _91999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91999NXXXXXX,2,Dial(${TRUNKloop}/${EXTEN:2},,tTo) -exten => _91999NXXXXXX,3,Hangup -exten => 999999999999,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 999999999999,2,Dial(${TRUNKloop}/${EXTEN:1},,tTo) -exten => 999999999999,3,Hangup - -; dial an 800 outbound number -exten => _91800NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) -exten => _91800NXXXXXX,3,Hangup -exten => _91888NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) -exten => _91888NXXXXXX,3,Hangup -exten => _91877NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) -exten => _91877NXXXXXX,3,Hangup -exten => _91866NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) -exten => _91866NXXXXXX,3,Hangup - -; dial a local outbound number (modified because of only LD T1) -exten => _9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,To) -exten => _9NXXXXXX,3,Hangup - -; dial a local 727 outbound number with area code -exten => _9727NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,To) -exten => _9727NXXXXXX,3,Hangup - -; dial a long distance outbound number -; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls -exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) -exten => _91NXXNXXXXXX,3,Hangup -; dial a long distance outbound number through BINFONE -; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -; exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN:1},55,To) -; exten => _91NXXNXXXXXX,3,Hangup -; dial a long distance outbound number through a SIP provider -; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) -; exten => _91NXXNXXXXXX,2,Dial(sip/${EXTEN:1}@SIPtrunk,55,o) -; exten => _91NXXNXXXXXX,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 -; This is not part of VICIDIAL, it is for astGUIclient agent use only - -; Extension 3429 - Inbound 800 number (1-800-555-3429) example of RBS T1 -; with 10 digit ANI and 4 digit DNIS star separated -exten => _**3429,1,Ringing -exten => _**3429,2,AGI(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) -exten => _*NXXNXXXXXX*3429,4,Answer -exten => _*NXXNXXXXXX*3429,5,Dial(sip/spa2000&sip/spa2001,30,to) -exten => _*NXXNXXXXXX*3429,6,Voicemail,u2000 - - -; parameters for agi-VDAD_ALL_inbound.agi (9 fields separated by five dashes "-----"): -; 1. the method of call handling for the script: -; - CID - CID received, add record with phone number -; - CIDLOOKUP - Lookup CID to find record in whole system -; - CIDLOOKUPRL - Restrict lookup to one list -; - CIDLOOKUPRC - Restrict lookup to one campaign's lists -; - CLOSER - Closer calls from VICIDIAL fronters -; - ANI - ANI received, add record with phone number -; - ANILOOKUP - Lookup ANI to find record in whole system -; - ANILOOKUPRL - Restrict lookup to one list -; - 3DIGITID - Enter 3 digit code to go to agent -; - 4DIGITID - Enter 4 digit code to go to agent -; - 5DIGITID - Enter 5 digit code to go to agent -; - 10DIGITID - Enter 10 digit code to go to agent -; 2. the method of searching for an available agent: -; - LO - Load Balance Overflow only (priority to home server) -; - LB - Load Balance total system -; - SO - Home server only -; 3. the full name of the IN GROUP to be used in vicidial for the inbound call -; 4. the phone number that was called, for the log entry -; 5. the callerID or lead_id of the person that called(usually overridden) -; 6. the park extension audio file name if used -; 7. the status of the call initially(usually not used) -; 8. the list_id to insert the new lead under if it is new (and CID/ANI available) -; 9. the phone dialing code to insert with the new lead if new (and CID/ANI available) -; 10. the campaign_id to search within lists if CIDLOOKUPRC -; inbound VICIDIAL call with CID delivery through T1 PRI -exten => 1234,1,Answer ; Answer the line -exten => 1234,2,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----CL_GALLERIA-----7274515134-----Closer-----park----------999-----1) -exten => 1234,3,Hangup - -; inbound VICIDIAL transfer calls [can arrive through PRI T1 crossover, IAX or SIP channel] -exten => _90009.,1,Answer ; Answer the line -exten => _90009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) -exten => _90009.,3,Hangup -exten => _990009.,1,Answer ; Answer the line -exten => _990009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) -exten => _990009.,3,Hangup - - -; barge monitoring extension -exten => 8159,1,ZapBarge -exten => 8159,2,Hangup - -; ZapBarge direct channel extensions -exten => _86120XX,1,ZapBarge(${EXTEN:5}) - - -exten => _X48600XXX,1,MeetMeAdmin(${EXTEN:2},T,${EXTEN:0:1}) -exten => _X48600XXX,2,Hangup - -exten => _X38600XXX,1,MeetMeAdmin(${EXTEN:2},t,${EXTEN:0:1}) -exten => _X38600XXX,2,Hangup - -exten => _X28600XXX,1,MeetMeAdmin(${EXTEN:2},m,${EXTEN:0:1}) -exten => _X28600XXX,2,Hangup - -exten => _X18600XXX,1,MeetMeAdmin(${EXTEN:2},M,${EXTEN:0:1}) -exten => _X18600XXX,2,Hangup - -exten => _55558600XXX,1,MeetMeAdmin(${EXTEN:4},K) -exten => _55558600XXX,2,Hangup -exten => 8300,1,Hangup - -; astGUIclient conferences -exten => _86000[0-4]X,1,Meetme,${EXTEN}|q -; VICIDIAL conferences -exten => _86000[5-9]X,1,Meetme,${EXTEN}|F -exten => _86001XX,1,Meetme,${EXTEN}|F -exten => _8600200,1,Meetme,${EXTEN}|F -; quiet entry and leaving conferences for VICIDIAL -exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq -; quiet monitor extensions for meetme rooms (for room managers) -exten => _68600XXX,1,Meetme,${EXTEN:1}|Fmq - -; voicelab exten -exten => _86009XX,1,Meetme,${EXTEN}|Fmq -; voicelab exten moderator -exten => _986009XX,1,Meetme,${EXTEN:1} - - - -; 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 - -exten => 8304,1,Answer -exten => 8304,2,Playback(ding) -exten => 8304,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) -; Recording is limited to 1 hour, to make longer, just change the Wait,3600 -exten => 8309,1,Answer -exten => 8309,2,Monitor(wav,${CALLERID(name)}) -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) -; Recording is limited to 1 hour, to make longer, just change the Wait,3600 -exten => 8310,1,Answer -exten => 8310,2,Monitor(gsm,${CALLERID(name)}) -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 - -; use for selective CallerID hangup by area code(hard-coded) -exten => 8352,1,AGI(agi-VDADselective_CID_hangup.agi,${EXTEN}) -exten => 8352,2,Playback(safe_harbor) -exten => 8352,3,Hangup - -; prompts for recording AGI script, ID is 4321 -; first variable is format (gsm/wav) -; second variable is timeout in milliseconds (default is 720000 [12 minutes]) -exten => 8167,1,Answer -exten => 8167,2,AGI(agi-record_prompts.agi,wav-----720000) -exten => 8167,3,Hangup -exten => 8168,1,Answer -exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----720000) -exten => 8168,3,Hangup - -; playback of recorded prompts -exten => _851XXXXX,1,Answer -exten => _851XXXXX,2,Playback(${EXTEN}) -exten => _851XXXXX,3,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${{CALLERID(num)}(num)}) -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(1) -exten => _85026666666666.,2,Voicemail(${EXTEN:14}|u) -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 - -;#### VDAD STANDARD TRANSFER ENTRIES #### -; VICIDIAL_auto_dialer transfer script for no-agent campaigns: -exten => 8364,1,AGI(agi://127.0.0.1:4577/call_log) -exten => 8364,2,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) -exten => 8364,3,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) -exten => 8364,4,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) -exten => 8364,5,Hangup - -; VICIDIAL_auto_dialer transfer script: -exten => 8365,1,AGI(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -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(agi://127.0.0.1:4577/call_log) -exten => 8369,2,AMD(2000|2000|1000|5000|120|50|4|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(agi://127.0.0.1:4577/call_log) -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 - -;#### VDAD SIP UNREGISTERED TRANSFER ENTRIES #### -;#### Use these entries IN PLACE OF the entries above if you are using SIP trunks -;#### and are not registering your provider in sip.conf -;; VICIDIAL_auto_dialer transfer script for no-agent campaigns: -;exten => 8364,1,Playback(sip-silence) -;exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8364,3,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) -;exten => 8364,4,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) -;exten => 8364,5,Hangup -; -;; VICIDIAL_auto_dialer transfer script: -;exten => 8365,1,Playback(sip-silence) -;exten => 8365,2,AGI(agi://127.0.0.1:4577/call_log) -;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,Playback(sip-silence) -;exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log) -;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,Playback(sip-silence) -;exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log) -;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,Playback(sip-silence) -;exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log) -;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,Playback(sip-silence) -;exten => 8369,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8369,3,AMD(2000|2000|1000|5000|120|50|4|256) -;exten => 8369,4,AGI(VD_amd.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,Playback(sip-silence) -;exten => 8372,2,AGI(agi://127.0.0.1:4577/call_log) -;exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) -;exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) -;exten => 8372,5,Hangup - - - -; PERFORMANCE TESTING -exten => _999XXXXXX1,1,Answer -exten => _999XXXXXX1,2,Wait(2) -exten => _999XXXXXX1,3,Playback(beep) -exten => _999XXXXXX1,4,Hangup - -exten => _999XXXX112,1,Wait(8) -exten => _999XXXX112,2,Answer -exten => _999XXXX112,3,Playback(demo-instruct) -exten => _999XXXX112,4,Playback(demo-instruct) -exten => _999XXXX112,5,Hangup - -exten => _999XXXXXX2,1,Wait(8) -exten => _999XXXXXX2,2,Answer -exten => _999XXXXXX2,3,Playback(demo-instruct) -exten => _999XXXXXX2,4,Hangup - -exten => _999XXXXXX3,1,SetVar(PRI_CAUSE=1) -exten => _999XXXXXX3,2,Hangup - -exten => _999XXXXXX4,1,SetVar(PRI_CAUSE=27) -exten => _999XXXXXX4,2,Hangup - -exten => _999XXXXXX5,1,Wait(60) -exten => _999XXXXXX5,2,Hangup - -exten => _999XXXXXX6,1,Wait(10) -exten => _999XXXXXX6,2,Answer -exten => _999XXXXXX6,3,Playback(demo-instruct) -exten => _999XXXXXX6,4,Hangup - -exten => _999XXXXXX7,1,Wait(12) -exten => _999XXXXXX7,2,Answer -exten => _999XXXXXX7,3,Playback(demo-enterkeywords) -exten => _999XXXXXX7,4,Hangup - -exten => _999XXXXXX8,1,SetVar(PRI_CAUSE=17) -exten => _999XXXXXX8,2,Hangup - -exten => _999XXXXXX9,1,Wait(6) -exten => _999XXXXXX9,2,Answer -exten => _999XXXXXX9,3,Playback(demo-abouttotry) -exten => _999XXXXXX9,4,Hangup - -exten => _999XXXXXX0,1,Wait(5) -exten => _999XXXXXX0,2,Answer -exten => _999XXXXXX0,3,Playback(vm-goodbye) -exten => _999XXXXXX0,4,Hangup - -exten => 99999999999,1,Answer -exten => 99999999999,2,Playback(conf) -exten => 99999999999,3,Playback(conf) -exten => 99999999999,4,Playback(conf) -exten => 99999999999,5,Playback(conf) -exten => 99999999999,6,Playback(conf) -exten => 99999999999,7,Playback(conf) -exten => 99999999999,8,Playback(conf) -exten => 99999999999,9,Playback(conf) -exten => 99999999999,10,Playback(conf) -exten => 99999999999,11,Playback(conf) -exten => 99999999999,12,Playback(conf) -exten => 99999999999,13,Playback(conf) -exten => 99999999999,14,Hangup +[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 +TRUNKloop = IAX2/ASTloop:test@127.0.0.1:40569 ; used for blind monitoring +TRUNKblind = IAX2/ASTblind:test@127.0.0.1:41569 ; used for testing + + +[default] +; VICI-GROUP DIRECT SUPPORT LINE (VICIHELP[84244357]) +exten => _84244XXX,1,Dial(IAX2/vicihelp/${EXTEN:5}) + +; BE SURE TO CHANGE THIS LINE FOR YOUR IP ADDRESS! +exten => _010*010*010*015*.,1,Goto(default,${EXTEN:16},1) +exten => _8600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +exten => _78600XXX*.,1,AGI(agi-VDADfixCXFER.agi) +; Local blind monitoring +exten => _08600XXX,1,Dial(${TRUNKblind}/6${EXTEN:1},55,To) + +; ### server 2 exten: +; exten => _010*010*010*016*.,1,Dial(${TRUNKIAX1}/${EXTEN:16},55,o) + + +; Example phone extensions + +; Extension 2000 Sipura/Linksys ATA 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/Linksys ATA line 2 +exten => 2001,1,Dial(sip/spa2001,30,to) ; Ring, 30 secs max +exten => 2001,2,Voicemail,u2001 ; Send to voicemail... +; Extension 2102 rings Grandstream phone +exten => 2102,1,Dial(sip/gs102,30,to) ; Ring, 30 secs max +exten => 2102,2,Voicemail,u2102 ; Send to voicemail... +; Extension 401 rings the firefly softphone +exten => 401,1,Dial((IAX2/firefly01@firefly01/s||t) +exten => 401,2,Hangup + +; extensions for other SIP and IAX call center phones +; cc100-cc150 SIP Phones +exten => _1[0-5]X,1,Dial(sip/cc${EXTEN},20,to) +; cc300-cc350 IAX Phones +exten => _3[0-5]X,1,Dial(IAX2/cc${EXTEN},20,to) + +; extensions if using a T1 channelbank +exten => _19XX,1,Dial(Zap/${EXTEN:2},30,o) +exten => _19XX,2,Hangup + +; Extension 4001 rings Zap phone (this example for FXS on Zap port 1) +exten => 4001,1,Dial(Zap/1,30,o) ; ring Zap device 1 +exten => 4001,2,Voicemail,u4001 ; Send to voicemail... + + +; # 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) + +; FastAGI for VICIDIAL/astGUIclient call logging +exten => h,1,DeadAGI(agi://127.0.0.1:4577/call_log--HVcauses--PRI-----NODEBUG-----${HANGUPCAUSE}-----${DIALSTATUS}-----${DIALEDTIME}-----${ANSWEREDTIME}) + +; Inbound call from BINFONE +; exten => 1112223333,1,AGI(agi://127.0.0.1:4577/call_log) +; 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(agi://127.0.0.1:4577/call_log--fullCID--${EXTEN}-----{CALLERID(all)}-----${CALLERID(num)}-----${CALLERID(name)}) +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 +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, +exten => _901144XXXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _901144XXXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},55,To) +exten => _901144XXXXXXXXXX,3,Hangup + +; dial a long distance outbound number to Australia +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls, +exten => _901161XXXXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _901161XXXXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) +exten => _901161XXXXXXXXX,3,Hangup + +; Extensions for performance testing +exten => _91999NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91999NXXXXXX,2,Dial(${TRUNKloop}/${EXTEN:2},,tTo) +exten => _91999NXXXXXX,3,Hangup +exten => 999999999999,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 999999999999,2,Dial(${TRUNKloop}/${EXTEN:1},,tTo) +exten => 999999999999,3,Hangup + +; dial an 800 outbound number +exten => _91800NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91800NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91800NXXXXXX,3,Hangup +exten => _91888NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91888NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91888NXXXXXX,3,Hangup +exten => _91877NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91877NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91877NXXXXXX,3,Hangup +exten => _91866NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91866NXXXXXX,2,Dial(${TRUNK}/${EXTEN:1},,To) +exten => _91866NXXXXXX,3,Hangup + +; dial a local outbound number (modified because of only LD T1) +exten => _9NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _9NXXXXXX,2,Dial(${TRUNK}/1727${EXTEN:1},,To) +exten => _9NXXXXXX,3,Hangup + +; dial a local 727 outbound number with area code +exten => _9727NXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _9727NXXXXXX,2,Dial(${TRUNK}/1${EXTEN:1},,To) +exten => _9727NXXXXXX,3,Hangup + +; dial a long distance outbound number +; This 'o' Dial flag is VERY important for VICIDIAL on outbound calls +exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +exten => _91NXXNXXXXXX,2,Dial(${TRUNKX}/${EXTEN:1},,To) +exten => _91NXXNXXXXXX,3,Hangup +; dial a long distance outbound number through BINFONE +; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91NXXNXXXXXX,2,Dial(${TRUNKIAX}/${EXTEN:1},55,To) +; exten => _91NXXNXXXXXX,3,Hangup +; dial a long distance outbound number through a SIP provider +; exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log) +; exten => _91NXXNXXXXXX,2,Dial(sip/${EXTEN:1}@SIPtrunk,55,o) +; exten => _91NXXNXXXXXX,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 +; This is not part of VICIDIAL, it is for astGUIclient agent use only + +; Extension 3429 - Inbound 800 number (1-800-555-3429) example of RBS T1 +; with 10 digit ANI and 4 digit DNIS star separated +exten => _**3429,1,Ringing +exten => _**3429,2,AGI(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +exten => _*NXXNXXXXXX*3429,3,AGI(call_inbound.agi,spa2000-----8005553429-----Inbound 800-----x-----y-----z-----w) +exten => _*NXXNXXXXXX*3429,4,Answer +exten => _*NXXNXXXXXX*3429,5,Dial(sip/spa2000&sip/spa2001,30,to) +exten => _*NXXNXXXXXX*3429,6,Voicemail,u2000 + + +; parameters for agi-VDAD_ALL_inbound.agi (9 fields separated by five dashes "-----"): +; 1. the method of call handling for the script: +; - CID - CID received, add record with phone number +; - CIDLOOKUP - Lookup CID to find record in whole system +; - CIDLOOKUPRL - Restrict lookup to one list +; - CIDLOOKUPRC - Restrict lookup to one campaign's lists +; - CLOSER - Closer calls from VICIDIAL fronters +; - ANI - ANI received, add record with phone number +; - ANILOOKUP - Lookup ANI to find record in whole system +; - ANILOOKUPRL - Restrict lookup to one list +; - 3DIGITID - Enter 3 digit code to go to agent +; - 4DIGITID - Enter 4 digit code to go to agent +; - 5DIGITID - Enter 5 digit code to go to agent +; - 10DIGITID - Enter 10 digit code to go to agent +; 2. the method of searching for an available agent: +; - LO - Load Balance Overflow only (priority to home server) +; - LB - Load Balance total system +; - SO - Home server only +; 3. the full name of the IN GROUP to be used in vicidial for the inbound call +; 4. the phone number that was called, for the log entry +; 5. the callerID or lead_id of the person that called(usually overridden) +; 6. the park extension audio file name if used +; 7. the status of the call initially(usually not used) +; 8. the list_id to insert the new lead under if it is new (and CID/ANI available) +; 9. the phone dialing code to insert with the new lead if new (and CID/ANI available) +; 10. the campaign_id to search within lists if CIDLOOKUPRC +; inbound VICIDIAL call with CID delivery through T1 PRI +exten => 1234,1,Answer ; Answer the line +exten => 1234,2,AGI(agi-VDAD_ALL_inbound.agi,CID-----LB-----CL_GALLERIA-----7274515134-----Closer-----park----------999-----1) +exten => 1234,3,Hangup + +; inbound VICIDIAL transfer calls [can arrive through PRI T1 crossover, IAX or SIP channel] +exten => _90009.,1,Answer ; Answer the line +exten => _90009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) +exten => _90009.,3,Hangup +exten => _990009.,1,Answer ; Answer the line +exten => _990009.,2,AGI(agi-VDAD_ALL_inbound.agi,CLOSER-----LB-----CL_TESTCAMP-----7275551212-----Closer-----park----------999-----1) +exten => _990009.,3,Hangup + + +; barge monitoring extension +exten => 8159,1,ZapBarge +exten => 8159,2,Hangup + +; ZapBarge direct channel extensions +exten => _86120XX,1,ZapBarge(${EXTEN:5}) + + +exten => _X48600XXX,1,MeetMeAdmin(${EXTEN:2},T,${EXTEN:0:1}) +exten => _X48600XXX,2,Hangup + +exten => _X38600XXX,1,MeetMeAdmin(${EXTEN:2},t,${EXTEN:0:1}) +exten => _X38600XXX,2,Hangup + +exten => _X28600XXX,1,MeetMeAdmin(${EXTEN:2},m,${EXTEN:0:1}) +exten => _X28600XXX,2,Hangup + +exten => _X18600XXX,1,MeetMeAdmin(${EXTEN:2},M,${EXTEN:0:1}) +exten => _X18600XXX,2,Hangup + +exten => _55558600XXX,1,MeetMeAdmin(${EXTEN:4},K) +exten => _55558600XXX,2,Hangup +exten => 8300,1,Hangup + +; astGUIclient conferences +exten => _86000[0-4]X,1,Meetme,${EXTEN}|q +; VICIDIAL conferences +exten => _86000[5-9]X,1,Meetme,${EXTEN}|F +exten => _86001XX,1,Meetme,${EXTEN}|F +exten => _8600200,1,Meetme,${EXTEN}|F +; quiet entry and leaving conferences for VICIDIAL +exten => _78600XXX,1,Meetme,${EXTEN:1}|Fq +; quiet monitor extensions for meetme rooms (for room managers) +exten => _68600XXX,1,Meetme,${EXTEN:1}|Fmq + +; voicelab exten +exten => _86009XX,1,Meetme,${EXTEN}|Fmq +; voicelab exten moderator +exten => _986009XX,1,Meetme,${EXTEN:1} + + + +; 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 + +exten => 8304,1,Answer +exten => 8304,2,Playback(ding) +exten => 8304,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) +; Recording is limited to 1 hour, to make longer, just change the Wait,3600 +exten => 8309,1,Answer +exten => 8309,2,Monitor(wav,${CALLERID(name)}) +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) +; Recording is limited to 1 hour, to make longer, just change the Wait,3600 +exten => 8310,1,Answer +exten => 8310,2,Monitor(gsm,${CALLERID(name)}) +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 + +; use for selective CallerID hangup by area code(hard-coded) +exten => 8352,1,AGI(agi-VDADselective_CID_hangup.agi,${EXTEN}) +exten => 8352,2,Playback(safe_harbor) +exten => 8352,3,Hangup + +; prompts for recording AGI script, ID is 4321 +; first variable is format (gsm/wav) +; second variable is timeout in milliseconds (default is 720000 [12 minutes]) +exten => 8167,1,Answer +exten => 8167,2,AGI(agi-record_prompts.agi,wav-----720000) +exten => 8167,3,Hangup +exten => 8168,1,Answer +exten => 8168,2,AGI(agi-record_prompts.agi,gsm-----720000) +exten => 8168,3,Hangup + +; playback of recorded prompts +exten => _851XXXXX,1,Answer +exten => _851XXXXX,2,Playback(${EXTEN}) +exten => _851XXXXX,3,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${{CALLERID(num)}(num)}) +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(1) +exten => _85026666666666.,2,Voicemail(${EXTEN:14}|u) +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 + +;#### VDAD STANDARD TRANSFER ENTRIES #### +; VICIDIAL_auto_dialer transfer script for no-agent campaigns: +exten => 8364,1,AGI(agi://127.0.0.1:4577/call_log) +exten => 8364,2,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) +exten => 8364,3,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) +exten => 8364,4,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) +exten => 8364,5,Hangup + +; VICIDIAL_auto_dialer transfer script: +exten => 8365,1,AGI(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +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(agi://127.0.0.1:4577/call_log) +exten => 8369,2,AMD(2000|2000|1000|5000|120|50|4|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(agi://127.0.0.1:4577/call_log) +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 + +;#### VDAD SIP UNREGISTERED TRANSFER ENTRIES #### +;#### Use these entries IN PLACE OF the entries above if you are using SIP trunks +;#### and are not registering your provider in sip.conf +;; VICIDIAL_auto_dialer transfer script for no-agent campaigns: +;exten => 8364,1,Playback(sip-silence) +;exten => 8364,2,AGI(agi://127.0.0.1:4577/call_log) +;exten => 8364,3,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) +;exten => 8364,4,AGI(agi-VDADtransferBROADCAST.agi,${EXTEN}) +;exten => 8364,5,Hangup +; +;; VICIDIAL_auto_dialer transfer script: +;exten => 8365,1,Playback(sip-silence) +;exten => 8365,2,AGI(agi://127.0.0.1:4577/call_log) +;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,Playback(sip-silence) +;exten => 8366,2,AGI(agi://127.0.0.1:4577/call_log) +;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,Playback(sip-silence) +;exten => 8367,2,AGI(agi://127.0.0.1:4577/call_log) +;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,Playback(sip-silence) +;exten => 8368,2,AGI(agi://127.0.0.1:4577/call_log) +;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,Playback(sip-silence) +;exten => 8369,2,AGI(agi://127.0.0.1:4577/call_log) +;exten => 8369,3,AMD(2000|2000|1000|5000|120|50|4|256) +;exten => 8369,4,AGI(VD_amd.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,Playback(sip-silence) +;exten => 8372,2,AGI(agi://127.0.0.1:4577/call_log) +;exten => 8372,3,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +;exten => 8372,4,AGI(agi-VDADautoREMINDER.agi,${EXTEN}) +;exten => 8372,5,Hangup + + + +; PERFORMANCE TESTING +exten => _999XXXXXX1,1,Answer +exten => _999XXXXXX1,2,Wait(2) +exten => _999XXXXXX1,3,Playback(beep) +exten => _999XXXXXX1,4,Hangup + +exten => _999XXXX112,1,Wait(8) +exten => _999XXXX112,2,Answer +exten => _999XXXX112,3,Playback(demo-instruct) +exten => _999XXXX112,4,Playback(demo-instruct) +exten => _999XXXX112,5,Hangup + +exten => _999XXXXXX2,1,Wait(8) +exten => _999XXXXXX2,2,Answer +exten => _999XXXXXX2,3,Playback(demo-instruct) +exten => _999XXXXXX2,4,Hangup + +exten => _999XXXXXX3,1,SetVar(PRI_CAUSE=1) +exten => _999XXXXXX3,2,Hangup + +exten => _999XXXXXX4,1,SetVar(PRI_CAUSE=27) +exten => _999XXXXXX4,2,Hangup + +exten => _999XXXXXX5,1,Wait(60) +exten => _999XXXXXX5,2,Hangup + +exten => _999XXXXXX6,1,Wait(10) +exten => _999XXXXXX6,2,Answer +exten => _999XXXXXX6,3,Playback(demo-instruct) +exten => _999XXXXXX6,4,Hangup + +exten => _999XXXXXX7,1,Wait(12) +exten => _999XXXXXX7,2,Answer +exten => _999XXXXXX7,3,Playback(demo-enterkeywords) +exten => _999XXXXXX7,4,Hangup + +exten => _999XXXXXX8,1,SetVar(PRI_CAUSE=17) +exten => _999XXXXXX8,2,Hangup + +exten => _999XXXXXX9,1,Wait(6) +exten => _999XXXXXX9,2,Answer +exten => _999XXXXXX9,3,Playback(demo-abouttotry) +exten => _999XXXXXX9,4,Hangup + +exten => _999XXXXXX0,1,Wait(5) +exten => _999XXXXXX0,2,Answer +exten => _999XXXXXX0,3,Playback(vm-goodbye) +exten => _999XXXXXX0,4,Hangup + +exten => 99999999999,1,Answer +exten => 99999999999,2,Playback(conf) +exten => 99999999999,3,Playback(conf) +exten => 99999999999,4,Playback(conf) +exten => 99999999999,5,Playback(conf) +exten => 99999999999,6,Playback(conf) +exten => 99999999999,7,Playback(conf) +exten => 99999999999,8,Playback(conf) +exten => 99999999999,9,Playback(conf) +exten => 99999999999,10,Playback(conf) +exten => 99999999999,11,Playback(conf) +exten => 99999999999,12,Playback(conf) +exten => 99999999999,13,Playback(conf) +exten => 99999999999,14,Hangup diff --git a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/iax.conf.sample b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/iax.conf.sample index b8ad4589..9a10d3ff 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/iax.conf.sample +++ b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/iax.conf.sample @@ -1,808 +1,808 @@ -[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 -register => ASTloop:test@127.0.0.1:40569 -register => ASTblind:test@127.0.0.1:41569 - -[vicihelp] -host=67.134.219.20 ;voip.vicidial-group.com -type=friend -context=opengateway -disallow=all -allow=gsm -allow=ulaw -permit=67.134.219.20/255.255.255.255 -insecure=very - -[ASTloop] -type=friend -accountcode=ASTloop -context=default -auth=plaintext -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -qualify=yes - -[ASTblind] -type=friend -accountcode=ASTblind -context=default -auth=plaintext -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -qualify=yes - -[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 - - -[cc300] -type=friend -accountcode=cc300 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc301] -type=friend -accountcode=cc301 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc302] -type=friend -accountcode=cc302 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc303] -type=friend -accountcode=cc303 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc304] -type=friend -accountcode=cc304 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc305] -type=friend -accountcode=cc305 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc306] -type=friend -accountcode=cc306 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc307] -type=friend -accountcode=cc307 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc308] -type=friend -accountcode=cc308 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc309] -type=friend -accountcode=cc309 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc310] -type=friend -accountcode=cc310 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc311] -type=friend -accountcode=cc311 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc312] -type=friend -accountcode=cc312 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc313] -type=friend -accountcode=cc313 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc314] -type=friend -accountcode=cc314 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc315] -type=friend -accountcode=cc315 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc316] -type=friend -accountcode=cc316 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc317] -type=friend -accountcode=cc317 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc318] -type=friend -accountcode=cc318 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc319] -type=friend -accountcode=cc319 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc320] -type=friend -accountcode=cc320 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc321] -type=friend -accountcode=cc321 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc322] -type=friend -accountcode=cc322 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc323] -type=friend -accountcode=cc323 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc324] -type=friend -accountcode=cc324 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc325] -type=friend -accountcode=cc325 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc326] -type=friend -accountcode=cc326 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc327] -type=friend -accountcode=cc327 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc328] -type=friend -accountcode=cc328 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc329] -type=friend -accountcode=cc329 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc330] -type=friend -accountcode=cc330 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc331] -type=friend -accountcode=cc331 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc332] -type=friend -accountcode=cc332 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc333] -type=friend -accountcode=cc333 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc334] -type=friend -accountcode=cc334 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc335] -type=friend -accountcode=cc335 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc336] -type=friend -accountcode=cc336 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc337] -type=friend -accountcode=cc337 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc338] -type=friend -accountcode=cc338 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc339] -type=friend -accountcode=cc339 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc340] -type=friend -accountcode=cc340 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc341] -type=friend -accountcode=cc341 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc342] -type=friend -accountcode=cc342 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc343] -type=friend -accountcode=cc343 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc344] -type=friend -accountcode=cc344 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc345] -type=friend -accountcode=cc345 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc346] -type=friend -accountcode=cc346 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc347] -type=friend -accountcode=cc347 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc348] -type=friend -accountcode=cc348 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc349] -type=friend -accountcode=cc349 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc350] -type=friend -accountcode=cc350 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - -[cc351] -type=friend -accountcode=cc351 -context=default -auth=md5 -host=dynamic -permit=0.0.0.0/0.0.0.0 -secret=test -disallow=all -allow=ulaw -allow=alaw -allow=gsm -qualify=yes - +[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 +register => ASTloop:test@127.0.0.1:40569 +register => ASTblind:test@127.0.0.1:41569 + +[vicihelp] +host=67.134.219.20 ;voip.vicidial-group.com +type=friend +context=opengateway +disallow=all +allow=gsm +allow=ulaw +permit=67.134.219.20/255.255.255.255 +insecure=very + +[ASTloop] +type=friend +accountcode=ASTloop +context=default +auth=plaintext +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +qualify=yes + +[ASTblind] +type=friend +accountcode=ASTblind +context=default +auth=plaintext +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +qualify=yes + +[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 + + +[cc300] +type=friend +accountcode=cc300 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc301] +type=friend +accountcode=cc301 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc302] +type=friend +accountcode=cc302 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc303] +type=friend +accountcode=cc303 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc304] +type=friend +accountcode=cc304 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc305] +type=friend +accountcode=cc305 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc306] +type=friend +accountcode=cc306 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc307] +type=friend +accountcode=cc307 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc308] +type=friend +accountcode=cc308 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc309] +type=friend +accountcode=cc309 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc310] +type=friend +accountcode=cc310 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc311] +type=friend +accountcode=cc311 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc312] +type=friend +accountcode=cc312 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc313] +type=friend +accountcode=cc313 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc314] +type=friend +accountcode=cc314 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc315] +type=friend +accountcode=cc315 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc316] +type=friend +accountcode=cc316 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc317] +type=friend +accountcode=cc317 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc318] +type=friend +accountcode=cc318 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc319] +type=friend +accountcode=cc319 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc320] +type=friend +accountcode=cc320 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc321] +type=friend +accountcode=cc321 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc322] +type=friend +accountcode=cc322 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc323] +type=friend +accountcode=cc323 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc324] +type=friend +accountcode=cc324 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc325] +type=friend +accountcode=cc325 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc326] +type=friend +accountcode=cc326 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc327] +type=friend +accountcode=cc327 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc328] +type=friend +accountcode=cc328 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc329] +type=friend +accountcode=cc329 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc330] +type=friend +accountcode=cc330 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc331] +type=friend +accountcode=cc331 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc332] +type=friend +accountcode=cc332 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc333] +type=friend +accountcode=cc333 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc334] +type=friend +accountcode=cc334 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc335] +type=friend +accountcode=cc335 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc336] +type=friend +accountcode=cc336 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc337] +type=friend +accountcode=cc337 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc338] +type=friend +accountcode=cc338 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc339] +type=friend +accountcode=cc339 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc340] +type=friend +accountcode=cc340 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc341] +type=friend +accountcode=cc341 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc342] +type=friend +accountcode=cc342 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc343] +type=friend +accountcode=cc343 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc344] +type=friend +accountcode=cc344 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc345] +type=friend +accountcode=cc345 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc346] +type=friend +accountcode=cc346 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc347] +type=friend +accountcode=cc347 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc348] +type=friend +accountcode=cc348 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc349] +type=friend +accountcode=cc349 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc350] +type=friend +accountcode=cc350 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + +[cc351] +type=friend +accountcode=cc351 +context=default +auth=md5 +host=dynamic +permit=0.0.0.0/0.0.0.0 +secret=test +disallow=all +allow=ulaw +allow=alaw +allow=gsm +qualify=yes + diff --git a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/logger.conf.sample b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/logger.conf.sample index 0c4c74a3..34af05de 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/logger.conf.sample +++ b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/logger.conf.sample @@ -1,3 +1,3 @@ -[logfiles] -console => notice,warning,error -messages => notice,warning,error,debug,verbose +[logfiles] +console => notice,warning,error +messages => notice,warning,error,debug,verbose diff --git a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/manager.conf.sample b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/manager.conf.sample index ac195fa5..8760d41c 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/manager.conf.sample +++ b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/manager.conf.sample @@ -1,24 +1,24 @@ -[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 +[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 diff --git a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/meetme.conf.sample b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/meetme.conf.sample index 87f7bb0b..9aefecad 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/meetme.conf.sample +++ b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/meetme.conf.sample @@ -1,215 +1,215 @@ -[rooms] -conf => 8600 -conf => 8601,1234 - -conf => 8600001 -conf => 8600002 -conf => 8600003 -conf => 8600004 -conf => 8600005 -conf => 8600006 -conf => 8600007 -conf => 8600008 -conf => 8600009 -conf => 8600010 -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 => 8600030 -conf => 8600031 -conf => 8600032 -conf => 8600033 -conf => 8600034 -conf => 8600035 -conf => 8600036 -conf => 8600037 -conf => 8600038 -conf => 8600039 -conf => 8600040 -conf => 8600041 -conf => 8600042 -conf => 8600043 -conf => 8600044 -conf => 8600045 -conf => 8600046 -conf => 8600047 -conf => 8600048 -conf => 8600049 -conf => 8600050 -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 -conf => 8600101 -conf => 8600102 -conf => 8600103 -conf => 8600104 -conf => 8600105 -conf => 8600106 -conf => 8600107 -conf => 8600108 -conf => 8600109 -conf => 8600110 -conf => 8600111 -conf => 8600112 -conf => 8600113 -conf => 8600114 -conf => 8600115 -conf => 8600116 -conf => 8600117 -conf => 8600118 -conf => 8600119 -conf => 8600120 -conf => 8600121 -conf => 8600122 -conf => 8600123 -conf => 8600124 -conf => 8600125 -conf => 8600126 -conf => 8600127 -conf => 8600128 -conf => 8600129 -conf => 8600130 -conf => 8600131 -conf => 8600132 -conf => 8600133 -conf => 8600134 -conf => 8600135 -conf => 8600136 -conf => 8600137 -conf => 8600138 -conf => 8600139 -conf => 8600140 -conf => 8600141 -conf => 8600142 -conf => 8600143 -conf => 8600144 -conf => 8600145 -conf => 8600146 -conf => 8600147 -conf => 8600148 -conf => 8600149 -conf => 8600150 -conf => 8600151 -conf => 8600152 -conf => 8600153 -conf => 8600154 -conf => 8600155 -conf => 8600156 -conf => 8600157 -conf => 8600158 -conf => 8600159 -conf => 8600160 -conf => 8600161 -conf => 8600162 -conf => 8600163 -conf => 8600164 -conf => 8600165 -conf => 8600166 -conf => 8600167 -conf => 8600168 -conf => 8600169 -conf => 8600170 -conf => 8600171 -conf => 8600172 -conf => 8600173 -conf => 8600174 -conf => 8600175 -conf => 8600176 -conf => 8600177 -conf => 8600178 -conf => 8600179 -conf => 8600180 -conf => 8600181 -conf => 8600182 -conf => 8600183 -conf => 8600184 -conf => 8600185 -conf => 8600186 -conf => 8600187 -conf => 8600188 -conf => 8600189 -conf => 8600190 -conf => 8600191 -conf => 8600192 -conf => 8600193 -conf => 8600194 -conf => 8600195 -conf => 8600196 -conf => 8600197 -conf => 8600198 -conf => 8600199 -conf => 8600200 - -conf => 8600900 -conf => 8600901 -conf => 8600902 -conf => 8600903 -conf => 8600904 -conf => 8600905 -conf => 8600906 -conf => 8600907 -conf => 8600908 -conf => 8600909 +[rooms] +conf => 8600 +conf => 8601,1234 + +conf => 8600001 +conf => 8600002 +conf => 8600003 +conf => 8600004 +conf => 8600005 +conf => 8600006 +conf => 8600007 +conf => 8600008 +conf => 8600009 +conf => 8600010 +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 => 8600030 +conf => 8600031 +conf => 8600032 +conf => 8600033 +conf => 8600034 +conf => 8600035 +conf => 8600036 +conf => 8600037 +conf => 8600038 +conf => 8600039 +conf => 8600040 +conf => 8600041 +conf => 8600042 +conf => 8600043 +conf => 8600044 +conf => 8600045 +conf => 8600046 +conf => 8600047 +conf => 8600048 +conf => 8600049 +conf => 8600050 +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 +conf => 8600101 +conf => 8600102 +conf => 8600103 +conf => 8600104 +conf => 8600105 +conf => 8600106 +conf => 8600107 +conf => 8600108 +conf => 8600109 +conf => 8600110 +conf => 8600111 +conf => 8600112 +conf => 8600113 +conf => 8600114 +conf => 8600115 +conf => 8600116 +conf => 8600117 +conf => 8600118 +conf => 8600119 +conf => 8600120 +conf => 8600121 +conf => 8600122 +conf => 8600123 +conf => 8600124 +conf => 8600125 +conf => 8600126 +conf => 8600127 +conf => 8600128 +conf => 8600129 +conf => 8600130 +conf => 8600131 +conf => 8600132 +conf => 8600133 +conf => 8600134 +conf => 8600135 +conf => 8600136 +conf => 8600137 +conf => 8600138 +conf => 8600139 +conf => 8600140 +conf => 8600141 +conf => 8600142 +conf => 8600143 +conf => 8600144 +conf => 8600145 +conf => 8600146 +conf => 8600147 +conf => 8600148 +conf => 8600149 +conf => 8600150 +conf => 8600151 +conf => 8600152 +conf => 8600153 +conf => 8600154 +conf => 8600155 +conf => 8600156 +conf => 8600157 +conf => 8600158 +conf => 8600159 +conf => 8600160 +conf => 8600161 +conf => 8600162 +conf => 8600163 +conf => 8600164 +conf => 8600165 +conf => 8600166 +conf => 8600167 +conf => 8600168 +conf => 8600169 +conf => 8600170 +conf => 8600171 +conf => 8600172 +conf => 8600173 +conf => 8600174 +conf => 8600175 +conf => 8600176 +conf => 8600177 +conf => 8600178 +conf => 8600179 +conf => 8600180 +conf => 8600181 +conf => 8600182 +conf => 8600183 +conf => 8600184 +conf => 8600185 +conf => 8600186 +conf => 8600187 +conf => 8600188 +conf => 8600189 +conf => 8600190 +conf => 8600191 +conf => 8600192 +conf => 8600193 +conf => 8600194 +conf => 8600195 +conf => 8600196 +conf => 8600197 +conf => 8600198 +conf => 8600199 +conf => 8600200 + +conf => 8600900 +conf => 8600901 +conf => 8600902 +conf => 8600903 +conf => 8600904 +conf => 8600905 +conf => 8600906 +conf => 8600907 +conf => 8600908 +conf => 8600909 diff --git a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/musiconhold.conf.sample b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/musiconhold.conf.sample index 5b18de7a..df8a659c 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/musiconhold.conf.sample +++ b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/musiconhold.conf.sample @@ -1,16 +1,16 @@ -; -; Music on Hold -- Sample Configuration -; - -[default] -mode=files -directory=/var/lib/asterisk/mohmp3 - -; valid mode options: -; quietmp3 -- default -; mp3 -- loud -; mp3nb -- unbuffered -; quietmp3nb -- quiet unbuffered -; custom -- run a custom application -; files -- read files from a directory in any Asterisk supported format - +; +; Music on Hold -- Sample Configuration +; + +[default] +mode=files +directory=/var/lib/asterisk/mohmp3 + +; valid mode options: +; quietmp3 -- default +; mp3 -- loud +; mp3nb -- unbuffered +; quietmp3nb -- quiet unbuffered +; custom -- run a custom application +; files -- read files from a directory in any Asterisk supported format + diff --git a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/sip.conf.sample b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/sip.conf.sample index 911d1713..ec26c855 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/sip.conf.sample +++ b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/sip.conf.sample @@ -1,724 +1,724 @@ -[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 - - - - - -[cc100] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc100 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1000 -mailbox=100 - -[cc101] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc101 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1000 -mailbox=101 - -[cc102] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc102 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1000 -mailbox=102 - -[cc103] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc103 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1000 -mailbox=103 - -[cc104] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc104 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1000 -mailbox=104 - -[cc105] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc105 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1000 -mailbox=105 - -[cc106] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc106 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1000 -mailbox=106 - -[cc107] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc107 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1000 -mailbox=107 - -[cc108] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc108 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1000 -mailbox=108 - -[cc109] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc109 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1000 -mailbox=109 - -[cc110] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc110 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1100 -mailbox=110 - -[cc111] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc111 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1100 -mailbox=111 - -[cc112] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc112 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1100 -mailbox=112 - -[cc113] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc113 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1100 -mailbox=113 - -[cc114] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc114 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1100 -mailbox=114 - -[cc115] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc115 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1100 -mailbox=115 - -[cc116] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc116 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1100 -mailbox=116 - -[cc117] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc117 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1100 -mailbox=117 - -[cc118] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc118 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1100 -mailbox=118 - -[cc119] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc119 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1100 -mailbox=119 - -[cc120] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc120 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1200 -mailbox=120 - -[cc121] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc121 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1200 -mailbox=121 - -[cc122] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc122 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1200 -mailbox=122 - -[cc123] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc123 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1200 -mailbox=123 - -[cc124] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc124 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1200 -mailbox=124 - -[cc125] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc125 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1200 -mailbox=125 - -[cc126] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc126 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1200 -mailbox=126 - -[cc127] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc127 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1200 -mailbox=127 - -[cc128] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc128 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1200 -mailbox=128 - -[cc129] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc129 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1200 -mailbox=129 - -[cc130] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc130 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1300 -mailbox=130 - -[cc131] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc131 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1300 -mailbox=131 - -[cc132] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc132 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1300 -mailbox=132 - -[cc133] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc133 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1300 -mailbox=133 - -[cc134] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc134 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1300 -mailbox=134 - -[cc135] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc135 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1300 -mailbox=135 - -[cc136] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc136 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1300 -mailbox=136 - -[cc137] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc137 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1300 -mailbox=137 - -[cc138] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc138 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1300 -mailbox=138 - -[cc139] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc139 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1300 -mailbox=139 - -[cc140] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc140 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1400 -mailbox=140 - -[cc141] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc141 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1400 -mailbox=141 - -[cc142] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc142 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1400 -mailbox=142 - -[cc143] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc143 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1400 -mailbox=143 - -[cc144] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc144 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1400 -mailbox=144 - -[cc145] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc145 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1400 -mailbox=145 - -[cc146] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc146 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1400 -mailbox=146 - -[cc147] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc147 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1400 -mailbox=147 - -[cc148] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc148 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1400 -mailbox=148 - -[cc149] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc149 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1400 -mailbox=149 - -[cc150] -disallow=all -allow=ulaw -allow=alaw -type=friend -username=cc150 -secret=test -host=dynamic -dtmfmode=inband -defaultip=192.168.1.249 -qualify=1400 -mailbox=150 +[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 + + + + + +[cc100] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc100 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1000 +mailbox=100 + +[cc101] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc101 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1000 +mailbox=101 + +[cc102] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc102 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1000 +mailbox=102 + +[cc103] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc103 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1000 +mailbox=103 + +[cc104] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc104 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1000 +mailbox=104 + +[cc105] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc105 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1000 +mailbox=105 + +[cc106] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc106 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1000 +mailbox=106 + +[cc107] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc107 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1000 +mailbox=107 + +[cc108] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc108 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1000 +mailbox=108 + +[cc109] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc109 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1000 +mailbox=109 + +[cc110] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc110 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1100 +mailbox=110 + +[cc111] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc111 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1100 +mailbox=111 + +[cc112] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc112 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1100 +mailbox=112 + +[cc113] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc113 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1100 +mailbox=113 + +[cc114] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc114 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1100 +mailbox=114 + +[cc115] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc115 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1100 +mailbox=115 + +[cc116] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc116 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1100 +mailbox=116 + +[cc117] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc117 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1100 +mailbox=117 + +[cc118] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc118 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1100 +mailbox=118 + +[cc119] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc119 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1100 +mailbox=119 + +[cc120] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc120 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1200 +mailbox=120 + +[cc121] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc121 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1200 +mailbox=121 + +[cc122] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc122 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1200 +mailbox=122 + +[cc123] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc123 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1200 +mailbox=123 + +[cc124] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc124 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1200 +mailbox=124 + +[cc125] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc125 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1200 +mailbox=125 + +[cc126] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc126 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1200 +mailbox=126 + +[cc127] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc127 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1200 +mailbox=127 + +[cc128] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc128 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1200 +mailbox=128 + +[cc129] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc129 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1200 +mailbox=129 + +[cc130] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc130 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1300 +mailbox=130 + +[cc131] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc131 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1300 +mailbox=131 + +[cc132] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc132 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1300 +mailbox=132 + +[cc133] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc133 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1300 +mailbox=133 + +[cc134] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc134 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1300 +mailbox=134 + +[cc135] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc135 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1300 +mailbox=135 + +[cc136] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc136 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1300 +mailbox=136 + +[cc137] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc137 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1300 +mailbox=137 + +[cc138] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc138 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1300 +mailbox=138 + +[cc139] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc139 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1300 +mailbox=139 + +[cc140] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc140 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1400 +mailbox=140 + +[cc141] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc141 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1400 +mailbox=141 + +[cc142] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc142 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1400 +mailbox=142 + +[cc143] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc143 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1400 +mailbox=143 + +[cc144] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc144 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1400 +mailbox=144 + +[cc145] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc145 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1400 +mailbox=145 + +[cc146] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc146 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1400 +mailbox=146 + +[cc147] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc147 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1400 +mailbox=147 + +[cc148] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc148 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1400 +mailbox=148 + +[cc149] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc149 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1400 +mailbox=149 + +[cc150] +disallow=all +allow=ulaw +allow=alaw +type=friend +username=cc150 +secret=test +host=dynamic +dtmfmode=inband +defaultip=192.168.1.249 +qualify=1400 +mailbox=150 diff --git a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/voicemail.conf.sample b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/voicemail.conf.sample index 4b3546ac..dc3a8537 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/voicemail.conf.sample +++ b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/voicemail.conf.sample @@ -1,19 +1,19 @@ -[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 +[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 diff --git a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zapata.conf.t100p.sample b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zapata.conf.t100p.sample index c735d394..1117086e 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zapata.conf.t100p.sample +++ b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zapata.conf.t100p.sample @@ -1,46 +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 - +# /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 + diff --git a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zapata.conf.x100p.sample b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zapata.conf.x100p.sample index 75084b4a..6e2ecd8e 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zapata.conf.x100p.sample +++ b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zapata.conf.x100p.sample @@ -1,13 +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 - +# /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 + diff --git a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zaptel.conf.t100p.sample b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zaptel.conf.t100p.sample index 178c9f01..0e28251b 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zaptel.conf.t100p.sample +++ b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zaptel.conf.t100p.sample @@ -1,23 +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 -# +# /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 +# diff --git a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zaptel.conf.x100p.sample b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zaptel.conf.x100p.sample index aa2adb65..a9742eea 100644 --- a/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zaptel.conf.x100p.sample +++ b/agc_2-X/branches/agc_2.0.4/docs/conf_examples/zaptel.conf.x100p.sample @@ -1,10 +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 +# /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