Call Center Softwares for you and telemarketing tips
Friday, April 25, 2025
Animated 2D and 3D videos
Story Title: The Lazy Princess Sara of Greenland
Once upon a time, in the frosty kingdom of Greenland, there lived a princess named Sara. Unlike most princesses who were renowned for their grace, intelligence, and unwavering commitment to their duties, Princess Sara was known for her unparalleled laziness. She preferred the warmth of her plush, fur-lined bed to the icy winds outside her castle walls, and her days were spent in a perpetual state of leisure, lounging on soft pillows and sipping hot cocoa.
The kingdom of Greenland was a place of beauty, adorned with glistening snow-capped mountains, lush green valleys, and vibrant auroras that danced across the night sky. The people were hard-working and industrious, toiling in the frigid temperatures to maintain their homes and provide for their families. Yet, despite the bustling life outside, Princess Sara found more joy in napping than in attending royal obligations or engaging with her subjects.
Her father, King Magnus, was a kind-hearted ruler who adored his daughter. However, he worried about her future. “A princess must not only be beautiful but also wise and benevolent,” he often lamented to his advisors. “If she continues to sleep through her responsibilities, how will she ever lead our people?”
One day, the king decided that enough was enough. He summoned his court and devised a plan to encourage Princess Sara to become more engaged with her responsibilities. They decided to host a grand festival to celebrate the coming of spring, a time of renewal and joy. The festival would showcase the talents of the kingdom’s artisans, musicians, and performers. It was an event that demanded the princess’s involvement, and the king hoped it would ignite a spark of enthusiasm in her.
As news of the festival spread throughout the kingdom, the villagers began their preparations. They crafted colorful decorations, baked delicious treats, and practiced their performances. Yet, Princess Sara remained blissfully unaware, nestled in her bed, dreaming of fluffy clouds and endless fields of flowers.
On the eve of the festival, King Magnus approached his daughter’s chambers. He gently knocked on the door, and when there was no response, he opened it to find Sara sprawled out on her bed, a half-eaten chocolate croissant resting on her chest.
“Sara, my dear,” he said with a warm smile, “tomorrow is the festival! You must rise and partake in the festivities. It will be a wonderful opportunity for you to connect with the people of our kingdom.”
Sara cracked one eye open and groaned. “But, Father, why must I leave the comfort of my bed? The festival sounds exhausting. Can’t we simply celebrate in here?”
King Magnus chuckled softly, “You will miss out on the joy our people bring. They have worked hard to prepare for this day. You, as their princess, must lead by example.”
With a reluctant sigh, Sara rolled out of bed, her limbs heavy and her heart even heavier. “Fine, but only if I can wear my warmest slippers,” she mumbled, retreating to her wardrobe.
The following day, the sun rose over the kingdom, casting a golden hue on the snow. Princess Sara, clad in a beautiful gown paired with fluffy slippers, stepped out into the bustling courtyard. To her surprise, the air buzzed with excitement. Children laughed and played, artisans showcased their crafts, and musicians filled the air with enchanting melodies.
As she wandered through the festival, Sara found herself captivated by the vibrant colors and joyous spirit surrounding her. She admired the intricate tapestries woven by the villagers, tasted the freshly baked pastries that seemed to melt in her mouth, and listened to the captivating stories shared by the elders.
Slowly but surely, a flicker of curiosity ignited within her. She approached a group of children gathered around a storyteller, his voice weaving tales of bravery and adventure. As she listened, she felt a warmth spreading through her heart, an unfamiliar sensation that began to replace her usual apathy.
“Princess Sara!” one of the children exclaimed, noticing her presence. “Will you tell us a story too?”
Sara hesitated, her mind racing. “But I’ve never told a story before,” she replied, feeling a tinge of uncertainty.
“Please!” the children chimed in unison, their eyes wide with anticipation.
Taking a deep breath, Sara felt an unexpected surge of confidence. “Alright, gather ‘round!” she declared, her voice growing stronger. She began to weave a tale of a brave knight and a fierce dragon, drawing inspiration from the stories she had heard earlier. As she spoke, her imagination blossomed, and the children listened intently, captivated by her words.
The more she spoke, the more Sara realized she enjoyed sharing her creativity with others. The festival, which she had initially dreaded, transformed into a platform for her to connect with her people. Laughter filled the air, and for the first time, she felt a sense of purpose.
As the sun dipped below the horizon, casting a warm glow over the festival, Princess Sara looked around at the smiling faces of her subjects. King Magnus watched from a distance, his heart swelling with pride. His daughter had discovered a joy she never knew existed—a joy found in the company of others.
From that day forward, Princess Sara transformed from the lazy princess into an active member of her kingdom. She embraced her role with vigor, participating in the affairs of the state and attending to the needs of her people. Each day became a new adventure, and her once-sedate life was filled with laughter, creativity, and purpose.
And so, in the kingdom of Greenland, Princess Sara became a beloved figure known not only for her beauty but also for her kindness and dedication to her people. The lazy princess had awakened, and a new era of joy and unity blossomed in the kingdom, proving that sometimes, all it takes is a little nudge to awaken the spirit within.
Watch Video on Youtube. Please like and subscribe. Thank you.
================================
Hey Chatgpt, I want to create a 3D animated kids Horror story. Can you give me some title ideas?
I 've chose the title "Whispers from the Dollhouse". Can you help me write an original and engaging script for the story? I plan to create a YouTube video based on this story, so please divide it into scenes. Also provide an image prompt, for each Scene. To ensure consistency in the character's profile throughout the story, please use the follow structure: "character name, age, gender, hairstyle, face description, outfit (top, bottom, footwear), background description and action. Give character a name and add each character's profile details.
========================
🎬 [Video Title: “How to Make Kids Animated Movies with AI | ChatGPT, Leonardo AI, Kling, Premiere Pro”]
🎙️ [INTRO - Bright & Fun Background Music + Animated Logo]
Narrator (Voiceover):
Hey storytellers! ✨
Ever dreamed of making your own kids animated movie — filled with adorable characters, fun adventures, and a heartwarming message?
You don’t need a big team or fancy studio… Just ChatGPT, Leonardo AI, Kling AI, and Premiere Pro.
In this tutorial, I’ll guide you through the entire process — step by step — using free and powerful AI tools.
Let’s go from idea to animation — together! 🎬🌈
📖 [Step 1: Write Your Kids Story with ChatGPT]
Screen Recording: ChatGPT Interface open
Narrator:
Every great movie starts with a great story. And that’s where ChatGPT comes in.
Here’s a sample prompt to get you started:
📝 Prompt Example:
"Write a short 10-scene story for 4–7-year-old kids about a brave squirrel named Nibbles who teams up with a shy turtle to save their magical forest from a sudden drought. Make it adventurous, funny, and include a moral lesson."
💬 ChatGPT will give you:
A full storyline
Dialogue between characters
A scene-by-scene breakdown
🧠 Narrator Tip:
Ask ChatGPT to break down each scene like this:
"Give me scene 1: location, characters, dialogue, and actions."
This helps with visual planning later.
🦸♂️ [Step 2: Build Your Main Character in Leonardo AI]
Screen Recording: Leonardo.Ai UI — Text-to-Image Feature
Narrator:
Let’s meet your star: Nibbles the squirrel.
From the story we just made, ChatGPT describes Nibbles like this:
📝 Character Profile:
Name: Nibbles
Species: Squirrel
Traits: Brave, curious, energetic
Appearance: Fluffy red tail, big eyes, wears a tiny green cape
Personality: Always ready to help, loves acorns and adventure!
Now in Leonardo AI, we’re going to generate this character using a clear prompt.
🧠 Narrator Tip:
Use style keywords that match a child-friendly aesthetic like: "Cartoon, colorful, Pixar-style, 2D animation, cute, friendly."
🎨 Prompt Example for Leonardo:
"A cartoon-style brave red squirrel with a fluffy tail, big eyes, wearing a small green cape, standing in a magical forest. Pixar-style, kid-friendly, full body, bright colors."
✨ Once you generate a few good versions, choose the best one and save it — we’ll use this image to maintain consistency later.
🔁 [Maintaining Character Consistency in Leonardo AI]
Narrator:
Want your character to look the same across all scenes?
Use Leonardo’s image-to-image feature or fine-tuning.
🧠 Narrator Tip:
Upload your chosen image of Nibbles as a reference, and give prompts like:
"Same red squirrel in green cape, now running with a turtle in a desert scene, cartoon style."
This way, Nibbles looks consistent across every frame of your movie.
🎞️ [Step 3: Animate Your Scenes with Kling AI]
Screen Recording: Kling AI workspace showing animation generation
Narrator:
Now that you have your characters and backgrounds — let’s animate!
Upload your AI-generated scenes into Kling AI.
You can animate your still images by describing the action.
🎬 Prompt Example:
"Make the squirrel run happily across the forest, waving at a turtle."
Kling AI will apply motion to your scene, making it look like a real animation.
🧠 Narrator Tip:
Keep actions simple and clean for younger audiences. One scene = one clear motion.
Export your animated scenes in HD and save them in order.
🎤 [Step 4: Edit, Add Voice, and Music in Premiere Pro]
Screen Recording: Adobe Premiere Pro Timeline with clips
Narrator:
It’s showtime! Open Premiere Pro and import your animated clips.
Arrange scenes, add transitions, and line up your audio.
For voiceovers:
You can record your own
Or use AI voices (like ElevenLabs, TTSMaker, or Narakeet)
🎶 Add free kids’ music and sound effects from the YouTube Audio Library or Pixabay Sounds.
🧠 Narrator Tip:
Add subtle sound effects like birds, rustling leaves, and character giggles to bring life to the story.
=====================
Title: Ali Baba and forty Thieves.
Title: Ali Baba and forty Thieves.
Sunday, April 13, 2025
A2billing for Voip Billing Solution
Welcome to the a2billing wiki!
============================
A2BILLING INSTALLATION GUIDE
============================
0. Sypnosis
-----------
A2Billing is a voip billing software licensed under the AGPL 3.
Copyright (C) 2004-2015 - Star2billing S.L. http://www.star2billing.com/
This document focuses on the installation of A2Billing system for the Asterisk
open source PBX. The document covers the installation and basic configuration
of A2Billing. A2billing is an open source implementation of a telecommunication
billing and added value services platform.
A2billing is a LAMP (Linux/Apache/Mysql/PHP) application that interfaces with
Asterisk using both the AMI and AGI interfaces.
This documentation has been tested using Ubuntu 14.04 and Debian 7/8.
1. A2Billing installation guide
-------------------------------
1.1 Important note about distributions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This documentation assumes that you are using a .deb based distro that has used the folder /usr/share/asterisk during packaging. Other distributions use the alternate
folder /var/lib/asterisk. If you compile from source the path by default is /var/lib/asterisk.
The basic assumptions of this documentation is that used pre-packaged software and:
* your apache2 default root folder is /var/www/html
* your asterisk sounds are under /usr/share/asterisk
* your asterisk AGI folder is expected under /usr/share/asterisk
* your apache2 runs as www-data (uid)
* you asterisk runs as asterisk (uid)
* those using subversion to check out the code, can use symbolic links instead of copying the files to the right directories
1.2 Default passwords and access info
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This are the default passwords that you should know about:
* mysql root password (in default system normally is )
* A2Billing default database is mya2billing, user is a2billinguser and password is a2billing
* asterisk manager default information is: [myasterisk] and secret=mycode
* A2Billing admin default password is: user: root password: changepassword
1.3 Pre-required software packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A2billing requires the packages of a LAMP (PHP5) installation. To install
the necessary packages, run the following commands::
apt-get install libapache2-mod-php5 php5 php5-common
apt-get install php5-cli php5-mysql mysql-server apache2 php5-gd
apt-get install openssh-server subversion
A2Billing also requires MCrypt module for PHP5::
apt-get install php5-mcrypt
Asterisk is of course also needed::
Install Asterisk 13 and your depencies like Dahdi and Libpri for Debian 7/8 and Ubuntu Server 14.04 too.
This command is just necessary for Ubuntu Server 14.04 before install Asterisk 13.
apt-get update && apt-get dist-upgrade -y && reboot
Install all dependencies for compile Asterisk
apt-get install build-essential wget libssl-dev libncurses5-dev libnewt-dev libxml2-dev linux-headers-$(uname -r) libsqlite3-dev uuid-dev git-core subversion libjansson-dev sqlite autoconf automake libtool libncurses5-dev vim -y
apt-get autoremove -y && apt-get autoclean -y
cd /usr/src/
wget downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.10.2+2.10.2.tar.gz
tar zxvf dahdi-linux-complete*
cd dahdi-linux-complete*
make && make install && make config
cd /usr/src/
wget downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
tar zxvf libpri*
cd libpri*
make && make install
cd /usr/src/
wget downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
tar zxvf asterisk*
cd asterisk*
./contrib/scripts/install_prereq install && ./bootstrap.sh
./configure && make menuselect && make && make install && make config
make samples && cd
/etc/init.d/dahdi start
/etc/init.d/asterisk start
asterisk -vvvvvvvvvvvvr
1.3.1 Extra software to support text-to-speech IVR monitoring
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Since version 1.7 we include an AGI mode that allows the monitoring of
the a2billing system via an IVR.
The monitoring feature requires text-to-speech TTS support, the
default TTS engine is Cepstral (http://www.cepstral.com/) although
A2Billing can support Festival too.
Install Cepstral (default path: /opt/swift) and make a symbolic link::
ln -s /opt/swift/bin/swift /usr/bin/swift
Make sure that the dynamic libraries are linked, create a file called
cepstral.conf under /etc/ld.so.conf.d/ including the path : /opt/swift/lib
1.3 PHP Composer
~~~~~~~~~~~~~~~~
A PHP dependency manager called Composer (https://getcomposer.org/) is used to
install PHP packages needed for A2Billing.
You can follow those steps to install PHP composer::
cd /usr/local/a2billing
curl -sS https://getcomposer.org/installer | php
php composer.phar update
php composer.phar install
2. Installation
---------------
In a nutshell installing A2Billing requires a minimum of seven steps (1-7)
1. Download and unpack source code
2. Setup the database
3. Edit a2billing.conf file. Setting up the database parameters
4. Fix permissions and folders
5. Installing the web based graphical user interfaces (Customer and Admin)
6. Place the AGI files
7. Prepare your dialplan
8. Add your cronjobs (only for notifcations, alarms and recurring services)
9. Configure your callback daemon (only for callback)
10. Enable monitoring (only for IVR monitoring)
11. Enable card locking (only for card PIN locking)
2.1. Step 1: Download and unpack source code
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Create a a2billing folder under /usr/local/src::
mkdir /usr/local/src/a2billing
Unpack the code
Download the code from the GIT repository run: ::
git clone https://github.com/Star2Billing/a2billing.git /usr/local/src/a2billing/ && rm -rf /usr/local/src/a2billing/.git
At the end of this step you should have a a2billing tree structure that should look like::
/usr/local/src/a2billing/
Files::
AGI
CHANGELOG
COPYING
CallBack
Cronjobs : Recurrent services run via crontab
DataBase : Database Schema / DB Installation
FEATURES_LIST
a2billing.conf : Main Configuration file
addons : Sounds and other addons
admin : Admin UI
agent : Agent UI
customer : Customer UI
webservice
2.2. Step 2: Prepare the Database
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We will now create a MySQL database (mya2billing) for the billing software. The file a2billing-createdb-user.sql includes a script that creates the database with the correct access control users and permissions. ::
cd /usr/local/src/a2billing
mysql -u root -p < DataBase/mysql-5.x/a2billing-createdb-user.sql
The script with create a database, username and password with the following default values
- Database name is: mya2billing
- Database user is: a2billinguser
- User password is: a2billing
After creating the database structure, we will create a set of tables and insert some initial basic configuration data::
cd DataBase/mysql-5.x/
./install-db.sh
**Checkpoint 1 :** Check that the database (my2billing) and that (97) tables have been created. ::
mysql -u root -p mya2billing
mysql>show tables
mysql>exit
2.3. Step 3: Edit the a2billing.conf configuration file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The A2Billing configuration file (a2billing.conf) contains the basic
information to connect to the a2billing database. Copy or make a symbolic
link from /usr/local/src/a2billing/a2billing.conf to /etc/a2billing.conf
a2billing.conf -> /usr/local/src/a2billing/a2billing.conf
Option 1::
cp /usr/local/src/a2billing/a2billing.conf /etc/
Option 2::
ln -s /usr/local/src/a2billing/a2billing.conf /etc/a2billing.conf
Open the file with your favorite text editor (vi is used in this example).
If you are new to Linux, we recommend you to use the text editor Gedit::
vim /etc/a2billing.conf
The only parameters that you need to change here is the database connection
information, an example follows::
[database]
hostname = localhost
port = 3306
user = a2billinguser
password = a2billing
dbname = mya2billing
dbtype = mysql
2.4. Step 4: Fix permissions, files and folders
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In this step, we will tweak the file permissions of Asterisk to fit the A2Billing software. We will also create a number of additional files and folders that A2Billing
needs, which does not come with the default installation.
2.4.1. SIP and IAX
^^^^^^^^^^^^^^^^^^
First we will set a few file permissions (chmod, chown) and create (touch) the SIP and IAX configuration files for Asterisk.::
chmod 777 /etc/asterisk
touch /etc/asterisk/additional_a2billing_iax.conf
touch /etc/asterisk/additional_a2billing_sip.conf
echo \#include additional_a2billing_sip.conf >> /etc/asterisk/sip.conf
echo \#include additional_a2billing_iax.conf >> /etc/asterisk/iax.conf
chown -Rf www-data /etc/asterisk/additional_a2billing_iax.conf
chown -Rf www-data /etc/asterisk/additional_a2billing_sip.conf
2.4.2. Sound files
^^^^^^^^^^^^^^^^^^
Run the sounds installation script available in the addons folder (IMPORTANT: the script assumes that asterisk sounds are under /usr/share/asterisk/sounds/)::
/usr/local/src/a2billing/addons/install_a2b_sounds_deb.sh
chown -R asterisk:asterisk /usr/share/asterisk/sounds/
2.4.3. Configure Asterisk Manager
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Configure the Asterisk Manager by editing the manager.conf file::
vim /etc/asterisk/manager.conf
Notice that we are using the default values (myasterisk, mycode) in this section. The configuration should look like this::
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
[myasterisk]
secret=mycode
read=system,call,log,verbose,command,agent,user
write=system,call,log,verbose,command,agent,user
2.5. Step 6: Install The AGI components
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Copy or create a symbolic link of the entire content of the AGI directory into asterisk agi-bin directory::
mkdir /usr/share/asterisk/agi-bin
chown asterisk:asterisk /usr/share/asterisk/agi-bin
Option 1::
cd /usr/local/src/a2billing/AGI
cp a2billing.php /usr/share/asterisk/agi-bin/
cp a2billing-monitoring.php /usr/share/asterisk/agi-bin/
cp -Rf ../common/lib /usr/share/asterisk/agi-bin/
Option 2::
ln -s /usr/local/src/a2billing/AGI/a2billing.php /usr/share/asterisk/agi-bin/a2billing.php
ln -s /usr/local/src/a2billing/AGI/lib /usr/share/asterisk/agi-bin/lib
Make sure the scripts are executable::
chmod +x /usr/share/asterisk/agi-bin/a2billing.php
(if you are going to run the monitoring AGI script)::
chmod +x /usr/share/asterisk/agi-bin/a2billing_monitoring.php
2.6. Step 5: Install web-based Graphical interfaces
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In this step, we will install the three graphical interfaces of A2Billing:
the Administration (admin), Agent (agent) and Customer (customer) interface.
As in previous steps you can copy the folders of make symbolic links.
Place the directories "admin" and "customer" into your webserver document root.
Create a2billing folder in your web root folder::
mkdir /var/www/html/a2billing
chown www-data:www-data /var/www/html/a2billing
Create folder directory for monitoring Scripts::
mkdir -p /var/lib/a2billing/script
Create folder directory for Cronts PID::
mkdir -p /var/run/a2billing
Option 1::
cp -rf /usr/local/src/a2billing/admin /var/www/html/a2billing
cp -rf /usr/local/src/a2billing/agent /var/www/html/a2billing
cp -rf /usr/local/src/a2billing/customer /var/www/html/a2billing
cp -rf /usr/local/src/a2billing/common /var/www/html/a2billing
cp -rf /usr/local/src/a2billing/vendor /var/www/html/a2billing/vendor
Option 2::
ln -s /usr/local/src/a2billing/admin /var/www/html/a2billing/admin
ln -s /usr/local/src/a2billing/agent /var/www/html/a2billing/agent
ln -s /usr/local/src/a2billing/customer /var/www/html/a2billing/customer
ln -s /usr/local/src/a2billing/common /var/www/html/a2billing/common
ln -s /usr/local/src/a2billing/vendor /var/www/html/a2billing/vendor
Fix the permissions of the templates_c folder in each of the UI::
chmod 755 /usr/local/src/a2billing/admin/templates_c
chmod 755 /usr/local/src/a2billing/customer/templates_c
chmod 755 /usr/local/src/a2billing/agent/templates_c
chown -Rf www-data:www-data /usr/local/src/a2billing/admin/templates_c
chown -Rf www-data:www-data /usr/local/src/a2billing/customer/templates_c
chown -Rf www-data:www-data /usr/local/src/a2billing/agent/templates_c
Checkpoint 2: Direct a browser to the administrative web interface (http:///a2billing/admin) and login as administrator. Default passwords are:
- user: root
- pass: changepassword
2.7. Step 7: Create a dialplan for A2Billing
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The extensions.conf is the Asterisk dialplan. Calls that interact with the billing software need to be handled inside of one or many A2Billing related contexts.
The calls that reach the context are processed using the a2billing.php AGI script. The a2billing.php script can be invoked in many different modes (standard, did,voucher, callback, etc). In the example, we create two different contexts, the first context [a2billing] handles all the calls from our VoIP clients. When a call arrives, any extension number _X. (2 digits or more) reaches the script a2billing.php
The second context [did], will be used to route inward calls back to the users. Calls to the clients (DID) are handled inside of the [did] context. The script a2billing.php in did mode is responsible of routing the call back to one of our users.
Edit extension.conf::
vim /etc/asterisk/extensions.conf
and the following contexts::
[a2billing]
include => a2billing_callingcard
include => a2billing_monitoring
include => a2billing_voucher
[a2billing_callingcard]
; CallingCard application
exten => _X.,1,NoOp(A2Billing Start)
exten => _X.,n,DeadAgi(a2billing.php|1)
exten => _X.,n,Hangup
[a2billing_voucher]
exten => _X.,1,Answer(1)
exten => _X.,n,DeadAgi(a2billing.php|1|voucher)
;exten => _X.,n,AGI(a2billing.php|1|voucher44) ; will add 44 in front of the callerID for the CID authentication
exten => _X.,n,Hangup
[a2billing_did]
exten => _X.,1,DeadAgi(a2billing.php|1|did)
exten => _X.,2,Hangup
Note that newer versions of Asterisk use a comma (,) instead of a pipe (|) to separate the AGI arguments.
2.8. Step 8: Configure recurring services
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Recurring services are handled via the /etc/crontab
You can add the following cron jobs to your /etc/crontab or create a file with
the jobs in /var/spool/cron/a2billing
- update the currency table::
0 6 * * * php /usr/local/src/a2billing/Cronjobs/currencies_update_yahoo.php
- manage the monthly services subscription::
0 6 1 * * php /usr/local/src/a2billing/Cronjobs/a2billing_subscription_fee.php
- To check account of each Users and send an email if the balance is less than the user have choice::
0 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_notify_account.php
- This script will browse all the DID that are reserve and check if the customer
need to pay for it bill them or warn them per email to know if they want to pay
in order to keep their DIDs::
0 2 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_bill_diduse.php
- This script will take care of the recurring service. ::
0 12 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_process.php
- Generate Invoices at 6am everyday::
0 6 * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_billing.php
- to proceed the autodialer::
* / 5 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_batch_autodialer.php
- manage alarms::
0 * * * * php /usr/local/src/a2billing/Cronjobs/a2billing_alarm.php
2.9. Step 9: Call back daemon (only for Call backs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The call back daemon is responsible of reading from the database the pool of
calls stored for call back and trigger those calls periodically.
The daemon is written in Python. Install the python-setuptools and use
easy_install to install the callback_daemon::
apt-get install python-setuptools python-mysqldb python-psycopg2 python-sqlalchemy
cd /usr/local/src/a2billing/CallBack
easy_install callback-daemon-py/dist/callback_daemon-1.0.prod_r1527-py2.5.egg
Install the init.d startup script::
cd /usr/local/src/a2billing/CallBack/callback-daemon-py/callback_daemon/
For Debian::
cp a2b-callback-daemon.debian /etc/init.d/a2b-callback-daemon
For RedHat::
cp a2b-callback-daemon.rc /etc/init.d/a2b-callback-daemon
chmod +x /etc/init.d/a2b-callback-daemon
Make sure the daemon starts,
For Debian::
update-rc.d a2b-callback-daemon defaults 40 60
If you need to remove the daemon in the future run::
update-rc.d -f a2b-callback-daemon remove
For RedHat::
chkconfig --add a2b-callback-daemon
service a2b-callback-daemon start
chkconfig a2b-callback-daemon on
2.10. Step 10: Enable IVR monitoring
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
General system monitoring via IVR is available from version 1.7, the new AGI
a2billing_monitoring.php provides access to an IVR where monitoring tasks can be
configured via the new Monitoring Menu under Maintenance.
SQL queries can be performed and shell scripts can be invoked.
Place your scripts under /var/lib/a2billing/script/
2.11. Step 11: Security features via IVR (Monitor account and locking calling card)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Two new IVR menus are now available via the main a2billing.php AGI. The menus
needs to be enabled setting the variables in the agi-conf menu (GUI system settings)
Locking Options IVR menu::
ivr_enable_locking_option = true (default: false)
Monitoring your Calling Card IVR menu::
ivr_enable_account_information = true (default: false)
Sunday, September 29, 2019
Duct Cleaning Companies Toronto
Title | Description |
---|---|
Duct Cleaning Toronto | Professional Duct Cleaning in Toronto |
Duct Cleaning Scarborough | Professional Duct Cleaning in Scarbrough |
Duct Cleaning Etobicoke | Professional Duct Cleaning in Etobicoke |
Duct Cleaning York | Professional Duct Cleaning in York |
Duct Cleaning Aurora | Professional Duct Cleaning in Aurora |
Duct Cleaning Newmarket | Professional Duct Cleaning in Newmarket |
Duct Cleaning Milton | Professional Duct Cleaning in Milton |
Duct Cleaning Georgetown | Professional Duct Cleaning in Georgetown |
Duct Cleaning Pickering | Professional Duct Cleaning in Pickering |
Duct Cleaning Ajax | Professional Duct Cleaning in Ajax |
Duct Cleaning Whitby | Professional Duct Cleaning in Whitby |
Duct Cleaning Oshawa | Professional Duct Cleaning in Oshawa |
Duct Cleaning Markham | Professional Duct Cleaning in Markham |
Duct Cleaning Georgetown | Professional Duct Cleaning in Georgetown |
Duct Cleaning Mississauga | Professional Duct Cleaning in Mississauga |
Duct Cleaning Brampton | Professional Duct Cleaning in Georgetown |
Duct Cleaning Orangeville | Professional Duct Cleaning in Orangeville |
Duct Cleaning Caledon | Professional Duct Cleaning in Caledon |
Duct Cleaning Oakville | Professional Duct Cleaning in Oakville |
Duct Cleaning Halton-hills | Professional Duct Cleaning in Halton-hills |
Duct Cleaning Stouffville | Professional Duct Cleaning in Stouffville |
Duct Cleaning Thornhill | Professional Duct Cleaning in Thornhill |
Duct Cleaning Akal | Professional Duct Cleaning in Akal |
Duct Cleaning Vaughan | Professional Duct Cleaning in Vaughan |
How To Do Duct Cleaning | How To Do Duct Cleaning |
Post Reno Duct Cleaning | Post Reno Duct Cleaning |
Cheap Duct Cleaning | Cheap Duct Cleaning |
Clean Air in Your Home | Clean Air in Your Home |
Dryer Vent Cleaning Toronto | Dryer Vent Cleaning Toronto |
Make Your Home Comfortable | Make Your Home Comfortable |
Air duct Cleaning | Description |
Air Duct Services | Description |
Air Duct Cleaning | Description |
Toronto HVAC Services | Description |
Dryer Vent Cleaning | Dryer Vent Cleaning Service |
Dryer Vent Cleaning Price | Dryer Vent Cleaning Service |
Thursday, September 5, 2019
Free call center software inside Bitrix 24
Free call center software inside Bitrix 24
Bitrix24 is free call center software unlike any other. If you choose a cloud version, you can start calling and receiving phone calls within minutes. You pay only if you need to have more than 12 employees, want to rent a phone number, SIP connector or use Bitrix24 telephony for outbound calls. You can also purchase self hosted editions of Bitrix24 if require source code access or would like to deploy Bitrix24 on premise.
* Please note that the information may have changed since the publication. For current prices and features please visit Bitrix24 pricing page.
REGISTER FREE
Basic features
Free inbound phone calls (except 1-800 numbers)
Super cheap outbound calls (from $0.01/minute)
Automatic dialer, IVR
Detailed call history
Free CRM inside call center
Works worldwide
Mobile app (iOS/Android)
Desktop app (PC, MacOS)
Free PBX inside call center
Greetings and voicemail
Set call queues
Automatic call recording (mp3)
Call waiting/on hold
Transfer calls to other employees
Forward calls to mobile numbers
Employee extensions
Free PBX for call center
Free CRM inside call center
Import call lists (CSV or Excel)
One click calls
Incoming and outbound calls
See client info during call
Add notes during call
Create leads for missed calls automatically
Flexible access rights for different agents
Bitrix24 is free call center software unlike any other. If you choose a cloud version, you can start calling and receiving phone calls within minutes. You pay only if you need to have more than 12 employees, want to rent a phone number, SIP connector or use Bitrix24 telephony for outbound calls. You can also purchase self hosted editions of Bitrix24 if require source code access or would like to deploy Bitrix24 on premise.
* Please note that the information may have changed since the publication. For current prices and features please visit Bitrix24 pricing page.
REGISTER FREE
Basic features
Free inbound phone calls (except 1-800 numbers)
Super cheap outbound calls (from $0.01/minute)
Automatic dialer, IVR
Detailed call history
Free CRM inside call center
Works worldwide
Mobile app (iOS/Android)
Desktop app (PC, MacOS)
Free PBX inside call center
Greetings and voicemail
Set call queues
Automatic call recording (mp3)
Call waiting/on hold
Transfer calls to other employees
Forward calls to mobile numbers
Employee extensions
Free PBX for call center
Free CRM inside call center
Import call lists (CSV or Excel)
One click calls
Incoming and outbound calls
See client info during call
Add notes during call
Create leads for missed calls automatically
Flexible access rights for different agents
Wednesday, October 25, 2017
Vicidial Setup requirements
Hardware Requirements For VICIDIAL/GoAutoDial
Minimum Hardware requirements for VICIDIAL
"There may be a suggestion, but not a requirement."
VICIDIAL/GoAutoDial runs on a Pendtium 4 machine and also on a Xeon Quad Processor based System.
Depending on the size of your ViciDial Setup you need a different amount of servers with different setups.
Typical setups would be:
10-15 Seat Inbound or Outbound
Dialing up to 30 concurrent Calls at a time.
1 All-in-One Server [Intel Core 2 Duo/AMD Processor, 4GB RAM, 320GB HDD]
1 PRI or VoIP Trunk
Codec : G729
Internet Bandwidth : 1 Mbps 1:1 or 4 Mbps Broadband
15-30 Seat Outbound or Inbound
Dialing up to 150 channels/lines at a time.
1 All-in-One Server [Xeon Dual Core Processor, 8GB RAM, 500GB HDD]
1 PRI or VoIP Trunk
Codec : G729
Internet Bandwidth : 4 Mbps 1:1 or 25 Mbps Broadband
30-50 Seat outbound good pickup ratio
Dialing up to 300 concurrent Calls at a time
1 All-in-One Server [Xeon Quadl Core Processor, 8GB RAM, 1TB HDD+128GB SSD]
1 Database Server
Codec : G729
Internet Bandwidth : 16 Mbps 1:1 or 100 Mbps Broadband
100+ Seat outbound good pickup ratio
Dialing up to 500 concurrent Calls at a time
1 Asterisk Server
1 Database Server
2 Application Servers
1 Archive Server
Codec : G729
Internet Bandwidth : 32 Mbps 1:1
Minimum Hardware requirements for VICIDIAL
"There may be a suggestion, but not a requirement."
VICIDIAL/GoAutoDial runs on a Pendtium 4 machine and also on a Xeon Quad Processor based System.
Depending on the size of your ViciDial Setup you need a different amount of servers with different setups.
Typical setups would be:
10-15 Seat Inbound or Outbound
Dialing up to 30 concurrent Calls at a time.
1 All-in-One Server [Intel Core 2 Duo/AMD Processor, 4GB RAM, 320GB HDD]
1 PRI or VoIP Trunk
Codec : G729
Internet Bandwidth : 1 Mbps 1:1 or 4 Mbps Broadband
15-30 Seat Outbound or Inbound
Dialing up to 150 channels/lines at a time.
1 All-in-One Server [Xeon Dual Core Processor, 8GB RAM, 500GB HDD]
1 PRI or VoIP Trunk
Codec : G729
Internet Bandwidth : 4 Mbps 1:1 or 25 Mbps Broadband
30-50 Seat outbound good pickup ratio
Dialing up to 300 concurrent Calls at a time
1 All-in-One Server [Xeon Quadl Core Processor, 8GB RAM, 1TB HDD+128GB SSD]
1 Database Server
Codec : G729
Internet Bandwidth : 16 Mbps 1:1 or 100 Mbps Broadband
100+ Seat outbound good pickup ratio
Dialing up to 500 concurrent Calls at a time
1 Asterisk Server
1 Database Server
2 Application Servers
1 Archive Server
Codec : G729
Internet Bandwidth : 32 Mbps 1:1
Tuesday, December 11, 2012
Vicidial Setup Instructions
VICIDIAL is a set of programs that are designed to interact with the Asterisk Open-Source PBX Phone system to act as a complete inbound/outbound call center suite.
The agent interface is an interactive set of web pages that work through a web browser to give real-time information and functionality with nothing more than an internet browser on the client computer.
The management interface is also web-based and offers the ability to view many real-time and summary reports as well as many detailed campaign and agent options and settings.
VICIDIAL can function as an ACD for inbound calls or for Closer calls coming from VICIDIAL outbound fronters and even allows for remote agents logging in from remote locations as well as remote agents that may only have a phone.
For doign scratch installation of Vicidial, we will be needing of following package
astGUIclient 2.2.1
Asterisk 1.4.21.2
Centos 5.5
As Operation system we use Centos 5.5 and once we install the OS, make sure you update the system first, then reboot if you installed an updated kernel.
yum -y update
reboot
Install the following software
yum install gcc gcc-c++ php php-devel php-gd gd-devel php-mbstring php-mcrypt php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel httpd libpcap libpcap-devel ncurses ncurses-devel screen sox mysql-server mysql-devel ntp kernel-devel mutt
Setup MySQL
Setup default MySQL tables, start MySQL and configure root password
Replace “mypassword” with your real password.
mysql_install_db
/etc/init.d/mysqld start
/usr/bin/mysqladmin -u root password ‘mypassword’
Update the time zone
Configure the system time and update it. (I set the server time zone to Arizona, so this is how I did it)
rm /etc/localtime
ln -sf /usr/share/zoneinfo/US/Arizona /etc/localtime
rdate -s nist1-ny.ustiming.org
Changes take effect immediately after you run the rdate command.
Have a look inside /usr/share/zoneinfo/US/ for different time zones.
Turn off ntpd and remove it from bootup runlevels.
You will be running ntpdate from cron instead.
service ntpd stop
chkconfig ntpd off
Setup CPAN and install some modules
Run the following command
perl -MCPAN -e shell
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” option, 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
Once you see the cpan> prompt you can begin installing modules.
This may take a while.
install MD5
install Digest::MD5
install Digest::SHA1
install readline
install Bundle::CPAN
reload cpan
install DBI
force install DBD::mysql
install Net::Telnet
install Time::HiRes
install Net::Server
install Switch
install Mail::Sendmail
install Unicode::Map
install Jcode
install Spreadsheet::WriteExcel
install OLE::Storage_Lite
install Proc::ProcessTable
install IO::Scalar
install Spreadsheet::ParseExcel
install Curses
install Getopt::Long
install Net::Domain
install Term::ReadKey
install Term::ANSIColor
quit
In the end, I usually run all these commands once again to make sure its all installed.
Installing the Asterisk-Perl module
NOTE: Do NOT use the 0.09 or any newer version, they do not work with ViciDial.
cd /usr/src
wget http://asterisk.gnuinter.net/files/asterisk-perl-0.08.tar.gz
tar -zxf asterisk-perl-0.08.tar.gz
cd asterisk-perl-0.08
perl Makefile.PL
make all
make install
Installing additional software from source (optional, but highly recommended)
Next, you will download, compile and install the following software.
lame
ttyload
iftop
mtop
mytop
sipsak
ploticus
LAME:
LAME is an MP3 encoder used to convert audio files from WAV to MP3. Some prefer GSM usually, but others have standardized on MP3 so you would need this utility to be loaded to use that option.
cd /usr/src
wget http://downloads.sourceforge.net/project/lame/lame/3.98.2/lame-398-2.tar.gz
tar -zxf lame-398-2.tar.gz
cd lame-398-2
./configure
make
make install
TTYLOAD:
ttyload is a simple terminal application that shows the processor load in a graphical time-based scrolling graph. I use it to view how loaded the system is and it visualizes load spikes very well.
cd /usr/src
wget http://www.daveltd.com/src/util/ttyload/ttyload-0.5.tar.gz
tar -zxf ttyload-0.5.tar.gz
cd ttyload-0.5
make
ln -s /usr/src/ttyload-0.5/ttyload /usr/bin/ttyload
IFTOP:
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.
cd /usr/src
wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz
tar -zxf iftop-0.17.tar.gz
cd iftop-0.17
./configure
make
make install
MTOP:
mtop is a great utility for real-time monitoring of mysql and the queries that are running in it.
Note: the root mysql password must be blank before installing this
mysql -u root -p
Enter your MySQL password, then the following MySQL command:
SET PASSWORD FOR root@localhost=PASSWORD(”);QUIT;
cd /usr/src
wget http://downloads.sourceforge.net/project/mtop/mtop/v0.6.6/mtop-0.6.6.tar.gz
tar -zxf mtop-0.6.6.tar.gz
cd mtop-0.6.6
perl Makefile.PL
make
make install
Enter the following MySQL command to put your root password back the way it was originally
Replace “mypassword” with your real password.
SET PASSWORD FOR root@localhost=PASSWORD(‘mypassword’);QUIT;
MYTOP:
mytop is is an optional utility for monitoring the threads and overall performance of mysql
Note: the root mysql password must be blank before installing this
mysql -u root -p
Enter your MySQL password, then the following MySQL command:
SET PASSWORD FOR root@localhost=PASSWORD(”);QUIT;
cd /usr/src
wget http://jeremy.zawodny.com/mysql/mytop/mytop-1.6.tar.gz
tar -zxf mytop-1.6.tar.gz
cd mytop-1.6
perl Makefile.PL
make
make test
make install
Enter the following MySQL command to put your root password back the way it was originally
Replace “mypassword” with your real password.
SET PASSWORD FOR root@localhost=PASSWORD(‘mypassword’);QUIT;
SIPSAK:
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.
cd /usr/src
wget http://download.berlios.de/sipsak/sipsak-0.9.6-1.tar.gz
tar -zxf sipsak-0.9.6-1.tar.gz
cd sipsak-0.9.6
./configure
make
make install
/usr/local/bin/sipsak –version
PLOTICUS:
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. ViciDial uses this package to generate server performance graphs that can be displayed real-time within the ViciDial reports page.
cd /usr/src
wget http://downloads.sourceforge.net/project/ploticus/ploticus/2.41/pl241src.tar.gz
tar -zxf pl241src.tar.gz
cd pl241src/src/
make clean
make
make install
mkdir -p /var/www/html/vicidial/ploticus/
cp pl /var/www/html/vicidial/ploticus/
Installing eAccelerator for PHP
Install the php module
cd /usr/src
wget http://sourceforge.net/projects/eaccelerator/files/eaccelerator/eAccelerator 0.9.6.1/eaccelerator-0.9.6.1.zip/download
unzip eaccelerator-0.9.6.1.zip
cd eaccelerator-0.9.6.1
export PHP_PREFIX=”/usr”
$PHP_PREFIX/bin/phpize
./configure –enable-eaccelerator=shared –with-php-config=$PHP_PREFIX/bin/php-config
make
make install
Configure php.ini
nano /etc/php.ini
You will want to make sure NOTICE logging is turned off:
error_reporting = E_ALL & ~E_NOTICE
memory_limit = 48M
short_open_tag = On
max_execution_time = 330
max_input_time = 360
post_max_size = 48M
upload_max_filesize = 42M
default_socket_timeout = 360
Add the following lines to the dynamic extensions section of php.ini:
Note: For CentOS 32-bit, use this below: zend_extension=”/usr/lib/php/modules/eaccelerator.so”
zend_extension="/usr/lib64/php/modules/eaccelerator.so"
;For CentOS 32-bit: zend_extension="/usr/lib/php/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
php -v
You should see something like this:
PHP 5.1.6 (cli) (built: Jan 13 2010 17:09:42)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
Editing the Apache config file
nano /etc/httpd/conf/httpd.conf
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
Restart the Apache web server to apply the changes
/etc/init.d/httpd restart
Installing Asterisk
At the time of this writing, you cannot install the latest version of Asterisk 1.6 or 1.8.
ViciDial 2.2.1 is currently compatible with Asterisk 1.4.21.2. This version of Asterisk also needs to be patched to work with vicidial correctly.
mkdir /usr/src/asterisk
cd /usr/src/asterisk
wget http://downloads.digium.com/pub/asterisk/old-releases/asterisk-1.4.21.2.tar.gz
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/old/libpri-1.4.9.tar.gz
tar -zxf asterisk-1.4.21.2.tar.gz
tar -zxf zaptel-1.4.12.1.tar.gz
tar -zxf libpri-1.4.9.tar.gz
cd libpri-1.4.9
make clean
make
make install
cd ../zaptel-1.4.12.1
./configure
make clean
make
make install
make config
cd ../asterisk-1.4.21.2
wget http://www.eflo.net/files/enter.h
wget http://www.eflo.net/files/leave.h
mv -f enter.h apps/enter.h
mv -f leave.h apps/leave.h
wget http://download.vicidial.com/asterisk-patches/1.4-gsm-gcc4.2.patch
patch -p1 ./codecs/gsm/Makefile 1.4-gsm-gcc4.2.patch
wget http://download.vicidial.com/conf/res_agi_defunct.patch
patch -p1 < res_agi_defunct.patch
File to patch: res/res_agi.c
cd apps/
rm -f app_waitforsilence.c
wget http://download.vicidial.com/conf/app_waitforsilence.c
cd ../channels/
rm chan_sip.c
wget http://download.vicidial.com/conf/chan_sip.c
cd ../
./configure
make clean
make
make install
make samples
modprobe zaptel
modprobe ztdummy
Add init.d script and add to bootup runlevels
cp /usr/src/asterisk/asterisk-1.4.21.2/contrib/init.d/rc.redhat.asterisk /etc/init.d/asterisk
chkconfig –add asterisk
Installing Sound files
Download the sound files
cd /usr/src
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-en-ulaw-current.tar.gz
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-en-gsm-current.tar.gz
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-ulaw-current.tar.gz
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-gsm-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-gsm-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-ulaw-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-wav-current.tar.gz
Set the sounds in place
cd /var/lib/asterisk/sounds
tar -zxf /usr/src/asterisk-core-sounds-en-gsm-current.tar.gz
tar -zxf /usr/src/asterisk-core-sounds-en-ulaw-current.tar.gz
tar -zxf /usr/src/asterisk-core-sounds-en-wav-current.tar.gz
tar -zxf /usr/src/asterisk-extra-sounds-en-gsm-current.tar.gz
tar -zxf /usr/src/asterisk-extra-sounds-en-ulaw-current.tar.gz
tar -zxf /usr/src/asterisk-extra-sounds-en-wav-current.tar.gz
mkdir /var/lib/asterisk/mohmp3
mkdir /var/lib/asterisk/quiet-mp3
mkdir /var/lib/asterisk/default
cd /var/lib/asterisk
ln -s mohmp3 default
ln -s moh mohmp3
cd mohmp3
tar -zxf /usr/src/asterisk-moh-opsound-gsm-current.tar.gz
tar -zxf /usr/src/asterisk-moh-opsound-ulaw-current.tar.gz
tar -zxf /usr/src/asterisk-moh-opsound-wav-current.tar.gz
rm CHANGES*
rm LICENSE*
rm CREDITS*
cd /var/lib/asterisk/moh
rm CHANGES*
rm LICENSE*
rm CREDITS*
cd /var/lib/asterisk/sounds
rm CHANGES*
rm LICENSE*
rm CREDITS*
cd /var/lib/asterisk/quiet-mp3
sox ../mohmp3/macroform-cold_day.wav macroform-cold_day.wav vol 0.25
sox ../mohmp3/macroform-cold_day.gsm macroform-cold_day.gsm vol 0.25
sox -t ul -r 8000 -c 1 ../mohmp3/macroform-cold_day.ulaw -t ul macroform-cold_day.ulaw vol 0.25
sox ../mohmp3/macroform-robot_dity.wav macroform-robot_dity.wav vol 0.25
sox ../mohmp3/macroform-robot_dity.gsm macroform-robot_dity.gsm vol 0.25
sox -t ul -r 8000 -c 1 ../mohmp3/macroform-robot_dity.ulaw -t ul macroform-robot_dity.ulaw vol 0.25
sox ../mohmp3/macroform-the_simplicity.wav macroform-the_simplicity.wav vol 0.25
sox ../mohmp3/macroform-the_simplicity.gsm macroform-the_simplicity.gsm vol 0.25
sox -t ul -r 8000 -c 1 ../mohmp3/macroform-the_simplicity.ulaw -t ul macroform-the_simplicity.ulaw vol 0.25
sox ../mohmp3/reno_project-system.wav reno_project-system.wav vol 0.25
sox ../mohmp3/reno_project-system.gsm reno_project-system.gsm vol 0.25
sox -t ul -r 8000 -c 1 ../mohmp3/reno_project-system.ulaw -t ul reno_project-system.ulaw vol 0.25
sox ../mohmp3/manolo_camp-morning_coffee.wav manolo_camp-morning_coffee.wav vol 0.25
sox ../mohmp3/manolo_camp-morning_coffee.gsm manolo_camp-morning_coffee.gsm vol 0.25
sox -t ul -r 8000 -c 1 ../mohmp3/manolo_camp-morning_coffee.ulaw -t ul manolo_camp-morning_coffee.ulaw vol 0.25
Installing Astguiclient
Installing Astguiclient 2.2.1.
Note: the installer will ask where your web root is located. I use /var/www/html as my web root. This is where the installer will put your web-facing files.
mkdir /usr/src/astguiclient
cd /usr/src/astguiclient
wget http://downloads.sourceforge.net/project/astguiclient/astguiclient_2.2.1.zip
unzip astguiclient_2.2.1.zip
perl install.pl
Download and copy a gsm file
cd /var/lib/asterisk/sounds
wget http://astguiclient.sf.net/conf.gsm
cp conf.gsm park.gsm
Create the database and import the sample data
First, login to mysql to run some commands
mysql -u root -p
Enter these MySQL commands:
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;
SET GLOBAL connect_timeout=60;
use asterisk;
\. /usr/src/astguiclient/extras/MySQL_AST_CREATE_tables.sql
\. /usr/src/astguiclient/extras/sip-iax_phones.sql
\. /usr/src/astguiclient/extras/first_server_install.sql
quit
In the Linux terminal, enter these commands
/usr/share/astguiclient/ADMIN_area_code_populate.pl
cp /usr/src/astguiclient/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
/usr/share/astguiclient/VICIDIAL_IN_new_leads_file.pl –forcelistid=107 –forcephonecode=1
Make several entries in the rc.local of your system:
nano /etc/rc.d/rc.local
### sybsys local login
touch /var/lock/subsys/local
# 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 up the MySQL server
/etc/init.d/mysqld start
### start up the apache web server
/etc/init.d/httpd 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 zaptel drivers
modprobe zaptel
modprobe ztdummy
/sbin/ztcfg -vvvvvvvvvvvv
### sleep for 20 seconds before launching Asterisk
sleep 20
### start up asterisk
/usr/share/astguiclient/start_asterisk_boot.pl
Make several entries in the crontab of your system:
crontab -e
### 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_mix.pl --MIX
#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 and the full day run at night
33 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl
50 0 * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl --last-24hours
## uncomment below if using QueueMetrics
#*/5 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl --only-qm-live-call-check
## uncomment below if using Vtiger
#1 1 * * * /usr/share/astguiclient/Vtiger_optimize_all_tables.pl --quiet
### 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
### 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/sbin/ntpdate -u pool.ntp.org 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/monitorDONE -maxdepth 2 -type f -mtime +7 -print | xargs rm -f
### roll logs monthly on high-volume dialing systems
#30 1 1 * * /usr/share/astguiclient/ADMIN_archive_log_tables.pl
### 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
30 0 * * * /usr/bin/find / -maxdepth 1 -name "screenlog.0*" -mtime +4 -print | xargs rm -f
Final Adjustments
It is important to change the externip and localnet values in the sip.conf
The externip needs to be the public ip of your server.
The localnet will consist of the public ip/netmask of your server.
nano /etc/asterisk/sip.conf
externip = 75.75.75.75
localnet=75.75.75.75/255.255.255.248
Run this perl script to update the server_ip fields in the asterisk tables (copy the command as-is)
/usr/share/astguiclient/ADMIN_update_server_ip.pl –old-server_ip=10.10.10.15
Update music on hold configuration
nano /etc/asterisk/musiconhold.conf
;
; Music on Hold -- Sample Configuration
;
[default]
mode=files
directory=/var/lib/asterisk/mohmp3
[quiet]
mode=files
directory=/var/lib/asterisk/quiet-mp3
#include musiconhold-vicidial.conf
* There are other sample configration files in /usr/src/astguiclient/docs/conf_examples/ that you might want to look at and maybe copy from and customize.
Lastly, reboot the machine
reboot
Diagnostics
After reboot, check your logs for any errors, make sure asterisk is up and running. Be proactive and look for problems before you start configuring vicidial.
Run these commands to view log files:
tail -f -n 50 /var/log/asterisk/messages
tail -f -n 50 /var/log/messages
more /var/log/dmesg
tail -f -n 40 /etc/httpd/logs/error_log
tail -f -n 40 /var/log/maillog
tail -f -n 40 /var/log/cron
Run this command:
screen -ls
The output should look similar to this:
There are screens on:
4090.asterisk (Detached)
4077.ASTfastlog (Detached)
8325.ASTsend (Detached)
8322.ASTupdate (Detached)
4004.astshell20110228193500 (Detached)
8334.ASTVDremote (Detached)
8328.ASTlisten (Detached)
12192.ASTVDadapt (Detached)
8331.ASTVDauto (Detached)
9 Sockets in /var/run/screen/S-root.
Start using vicidial
Login to vicidial and configure it.
Add users, campaigns, in-group, DID’s, server, etc….
Go to: http://youripaddress/vicidial/admin.php
The default username is: 6666 and the password is: 1234
Security Notes
When you get vicidial configured and working, make sure to follow basic common sense server administration rules like setting up a firewall, changing default passwords, disallow remote mysql connections and stop the unnecessary services.
The agent interface is an interactive set of web pages that work through a web browser to give real-time information and functionality with nothing more than an internet browser on the client computer.
The management interface is also web-based and offers the ability to view many real-time and summary reports as well as many detailed campaign and agent options and settings.
VICIDIAL can function as an ACD for inbound calls or for Closer calls coming from VICIDIAL outbound fronters and even allows for remote agents logging in from remote locations as well as remote agents that may only have a phone.
For doign scratch installation of Vicidial, we will be needing of following package
astGUIclient 2.2.1
Asterisk 1.4.21.2
Centos 5.5
As Operation system we use Centos 5.5 and once we install the OS, make sure you update the system first, then reboot if you installed an updated kernel.
yum -y update
reboot
Install the following software
yum install gcc gcc-c++ php php-devel php-gd gd-devel php-mbstring php-mcrypt php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel httpd libpcap libpcap-devel ncurses ncurses-devel screen sox mysql-server mysql-devel ntp kernel-devel mutt
Setup MySQL
Setup default MySQL tables, start MySQL and configure root password
Replace “mypassword” with your real password.
mysql_install_db
/etc/init.d/mysqld start
/usr/bin/mysqladmin -u root password ‘mypassword’
Update the time zone
Configure the system time and update it. (I set the server time zone to Arizona, so this is how I did it)
rm /etc/localtime
ln -sf /usr/share/zoneinfo/US/Arizona /etc/localtime
rdate -s nist1-ny.ustiming.org
Changes take effect immediately after you run the rdate command.
Have a look inside /usr/share/zoneinfo/US/ for different time zones.
Turn off ntpd and remove it from bootup runlevels.
You will be running ntpdate from cron instead.
service ntpd stop
chkconfig ntpd off
Setup CPAN and install some modules
Run the following command
perl -MCPAN -e shell
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” option, 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
Once you see the cpan> prompt you can begin installing modules.
This may take a while.
install MD5
install Digest::MD5
install Digest::SHA1
install readline
install Bundle::CPAN
reload cpan
install DBI
force install DBD::mysql
install Net::Telnet
install Time::HiRes
install Net::Server
install Switch
install Mail::Sendmail
install Unicode::Map
install Jcode
install Spreadsheet::WriteExcel
install OLE::Storage_Lite
install Proc::ProcessTable
install IO::Scalar
install Spreadsheet::ParseExcel
install Curses
install Getopt::Long
install Net::Domain
install Term::ReadKey
install Term::ANSIColor
quit
In the end, I usually run all these commands once again to make sure its all installed.
Installing the Asterisk-Perl module
NOTE: Do NOT use the 0.09 or any newer version, they do not work with ViciDial.
cd /usr/src
wget http://asterisk.gnuinter.net/files/asterisk-perl-0.08.tar.gz
tar -zxf asterisk-perl-0.08.tar.gz
cd asterisk-perl-0.08
perl Makefile.PL
make all
make install
Installing additional software from source (optional, but highly recommended)
Next, you will download, compile and install the following software.
lame
ttyload
iftop
mtop
mytop
sipsak
ploticus
LAME:
LAME is an MP3 encoder used to convert audio files from WAV to MP3. Some prefer GSM usually, but others have standardized on MP3 so you would need this utility to be loaded to use that option.
cd /usr/src
wget http://downloads.sourceforge.net/project/lame/lame/3.98.2/lame-398-2.tar.gz
tar -zxf lame-398-2.tar.gz
cd lame-398-2
./configure
make
make install
TTYLOAD:
ttyload is a simple terminal application that shows the processor load in a graphical time-based scrolling graph. I use it to view how loaded the system is and it visualizes load spikes very well.
cd /usr/src
wget http://www.daveltd.com/src/util/ttyload/ttyload-0.5.tar.gz
tar -zxf ttyload-0.5.tar.gz
cd ttyload-0.5
make
ln -s /usr/src/ttyload-0.5/ttyload /usr/bin/ttyload
IFTOP:
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.
cd /usr/src
wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz
tar -zxf iftop-0.17.tar.gz
cd iftop-0.17
./configure
make
make install
MTOP:
mtop is a great utility for real-time monitoring of mysql and the queries that are running in it.
Note: the root mysql password must be blank before installing this
mysql -u root -p
Enter your MySQL password, then the following MySQL command:
SET PASSWORD FOR root@localhost=PASSWORD(”);QUIT;
cd /usr/src
wget http://downloads.sourceforge.net/project/mtop/mtop/v0.6.6/mtop-0.6.6.tar.gz
tar -zxf mtop-0.6.6.tar.gz
cd mtop-0.6.6
perl Makefile.PL
make
make install
Enter the following MySQL command to put your root password back the way it was originally
Replace “mypassword” with your real password.
SET PASSWORD FOR root@localhost=PASSWORD(‘mypassword’);QUIT;
MYTOP:
mytop is is an optional utility for monitoring the threads and overall performance of mysql
Note: the root mysql password must be blank before installing this
mysql -u root -p
Enter your MySQL password, then the following MySQL command:
SET PASSWORD FOR root@localhost=PASSWORD(”);QUIT;
cd /usr/src
wget http://jeremy.zawodny.com/mysql/mytop/mytop-1.6.tar.gz
tar -zxf mytop-1.6.tar.gz
cd mytop-1.6
perl Makefile.PL
make
make test
make install
Enter the following MySQL command to put your root password back the way it was originally
Replace “mypassword” with your real password.
SET PASSWORD FOR root@localhost=PASSWORD(‘mypassword’);QUIT;
SIPSAK:
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.
cd /usr/src
wget http://download.berlios.de/sipsak/sipsak-0.9.6-1.tar.gz
tar -zxf sipsak-0.9.6-1.tar.gz
cd sipsak-0.9.6
./configure
make
make install
/usr/local/bin/sipsak –version
PLOTICUS:
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. ViciDial uses this package to generate server performance graphs that can be displayed real-time within the ViciDial reports page.
cd /usr/src
wget http://downloads.sourceforge.net/project/ploticus/ploticus/2.41/pl241src.tar.gz
tar -zxf pl241src.tar.gz
cd pl241src/src/
make clean
make
make install
mkdir -p /var/www/html/vicidial/ploticus/
cp pl /var/www/html/vicidial/ploticus/
Installing eAccelerator for PHP
Install the php module
cd /usr/src
wget http://sourceforge.net/projects/eaccelerator/files/eaccelerator/eAccelerator 0.9.6.1/eaccelerator-0.9.6.1.zip/download
unzip eaccelerator-0.9.6.1.zip
cd eaccelerator-0.9.6.1
export PHP_PREFIX=”/usr”
$PHP_PREFIX/bin/phpize
./configure –enable-eaccelerator=shared –with-php-config=$PHP_PREFIX/bin/php-config
make
make install
Configure php.ini
nano /etc/php.ini
You will want to make sure NOTICE logging is turned off:
error_reporting = E_ALL & ~E_NOTICE
memory_limit = 48M
short_open_tag = On
max_execution_time = 330
max_input_time = 360
post_max_size = 48M
upload_max_filesize = 42M
default_socket_timeout = 360
Add the following lines to the dynamic extensions section of php.ini:
Note: For CentOS 32-bit, use this below: zend_extension=”/usr/lib/php/modules/eaccelerator.so”
zend_extension="/usr/lib64/php/modules/eaccelerator.so"
;For CentOS 32-bit: zend_extension="/usr/lib/php/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
php -v
You should see something like this:
PHP 5.1.6 (cli) (built: Jan 13 2010 17:09:42)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
Editing the Apache config file
nano /etc/httpd/conf/httpd.conf
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
Restart the Apache web server to apply the changes
/etc/init.d/httpd restart
Installing Asterisk
At the time of this writing, you cannot install the latest version of Asterisk 1.6 or 1.8.
ViciDial 2.2.1 is currently compatible with Asterisk 1.4.21.2. This version of Asterisk also needs to be patched to work with vicidial correctly.
mkdir /usr/src/asterisk
cd /usr/src/asterisk
wget http://downloads.digium.com/pub/asterisk/old-releases/asterisk-1.4.21.2.tar.gz
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/old/libpri-1.4.9.tar.gz
tar -zxf asterisk-1.4.21.2.tar.gz
tar -zxf zaptel-1.4.12.1.tar.gz
tar -zxf libpri-1.4.9.tar.gz
cd libpri-1.4.9
make clean
make
make install
cd ../zaptel-1.4.12.1
./configure
make clean
make
make install
make config
cd ../asterisk-1.4.21.2
wget http://www.eflo.net/files/enter.h
wget http://www.eflo.net/files/leave.h
mv -f enter.h apps/enter.h
mv -f leave.h apps/leave.h
wget http://download.vicidial.com/asterisk-patches/1.4-gsm-gcc4.2.patch
patch -p1 ./codecs/gsm/Makefile 1.4-gsm-gcc4.2.patch
wget http://download.vicidial.com/conf/res_agi_defunct.patch
patch -p1 < res_agi_defunct.patch
File to patch: res/res_agi.c
cd apps/
rm -f app_waitforsilence.c
wget http://download.vicidial.com/conf/app_waitforsilence.c
cd ../channels/
rm chan_sip.c
wget http://download.vicidial.com/conf/chan_sip.c
cd ../
./configure
make clean
make
make install
make samples
modprobe zaptel
modprobe ztdummy
Add init.d script and add to bootup runlevels
cp /usr/src/asterisk/asterisk-1.4.21.2/contrib/init.d/rc.redhat.asterisk /etc/init.d/asterisk
chkconfig –add asterisk
Installing Sound files
Download the sound files
cd /usr/src
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-en-ulaw-current.tar.gz
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-en-wav-current.tar.gz
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-core-sounds-en-gsm-current.tar.gz
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-ulaw-current.tar.gz
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-wav-current.tar.gz
wget http://downloads.digium.com/pub/telephony/sounds/asterisk-extra-sounds-en-gsm-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-gsm-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-ulaw-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-moh-opsound-wav-current.tar.gz
Set the sounds in place
cd /var/lib/asterisk/sounds
tar -zxf /usr/src/asterisk-core-sounds-en-gsm-current.tar.gz
tar -zxf /usr/src/asterisk-core-sounds-en-ulaw-current.tar.gz
tar -zxf /usr/src/asterisk-core-sounds-en-wav-current.tar.gz
tar -zxf /usr/src/asterisk-extra-sounds-en-gsm-current.tar.gz
tar -zxf /usr/src/asterisk-extra-sounds-en-ulaw-current.tar.gz
tar -zxf /usr/src/asterisk-extra-sounds-en-wav-current.tar.gz
mkdir /var/lib/asterisk/mohmp3
mkdir /var/lib/asterisk/quiet-mp3
mkdir /var/lib/asterisk/default
cd /var/lib/asterisk
ln -s mohmp3 default
ln -s moh mohmp3
cd mohmp3
tar -zxf /usr/src/asterisk-moh-opsound-gsm-current.tar.gz
tar -zxf /usr/src/asterisk-moh-opsound-ulaw-current.tar.gz
tar -zxf /usr/src/asterisk-moh-opsound-wav-current.tar.gz
rm CHANGES*
rm LICENSE*
rm CREDITS*
cd /var/lib/asterisk/moh
rm CHANGES*
rm LICENSE*
rm CREDITS*
cd /var/lib/asterisk/sounds
rm CHANGES*
rm LICENSE*
rm CREDITS*
cd /var/lib/asterisk/quiet-mp3
sox ../mohmp3/macroform-cold_day.wav macroform-cold_day.wav vol 0.25
sox ../mohmp3/macroform-cold_day.gsm macroform-cold_day.gsm vol 0.25
sox -t ul -r 8000 -c 1 ../mohmp3/macroform-cold_day.ulaw -t ul macroform-cold_day.ulaw vol 0.25
sox ../mohmp3/macroform-robot_dity.wav macroform-robot_dity.wav vol 0.25
sox ../mohmp3/macroform-robot_dity.gsm macroform-robot_dity.gsm vol 0.25
sox -t ul -r 8000 -c 1 ../mohmp3/macroform-robot_dity.ulaw -t ul macroform-robot_dity.ulaw vol 0.25
sox ../mohmp3/macroform-the_simplicity.wav macroform-the_simplicity.wav vol 0.25
sox ../mohmp3/macroform-the_simplicity.gsm macroform-the_simplicity.gsm vol 0.25
sox -t ul -r 8000 -c 1 ../mohmp3/macroform-the_simplicity.ulaw -t ul macroform-the_simplicity.ulaw vol 0.25
sox ../mohmp3/reno_project-system.wav reno_project-system.wav vol 0.25
sox ../mohmp3/reno_project-system.gsm reno_project-system.gsm vol 0.25
sox -t ul -r 8000 -c 1 ../mohmp3/reno_project-system.ulaw -t ul reno_project-system.ulaw vol 0.25
sox ../mohmp3/manolo_camp-morning_coffee.wav manolo_camp-morning_coffee.wav vol 0.25
sox ../mohmp3/manolo_camp-morning_coffee.gsm manolo_camp-morning_coffee.gsm vol 0.25
sox -t ul -r 8000 -c 1 ../mohmp3/manolo_camp-morning_coffee.ulaw -t ul manolo_camp-morning_coffee.ulaw vol 0.25
Installing Astguiclient
Installing Astguiclient 2.2.1.
Note: the installer will ask where your web root is located. I use /var/www/html as my web root. This is where the installer will put your web-facing files.
mkdir /usr/src/astguiclient
cd /usr/src/astguiclient
wget http://downloads.sourceforge.net/project/astguiclient/astguiclient_2.2.1.zip
unzip astguiclient_2.2.1.zip
perl install.pl
Download and copy a gsm file
cd /var/lib/asterisk/sounds
wget http://astguiclient.sf.net/conf.gsm
cp conf.gsm park.gsm
Create the database and import the sample data
First, login to mysql to run some commands
mysql -u root -p
Enter these MySQL commands:
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;
SET GLOBAL connect_timeout=60;
use asterisk;
\. /usr/src/astguiclient/extras/MySQL_AST_CREATE_tables.sql
\. /usr/src/astguiclient/extras/sip-iax_phones.sql
\. /usr/src/astguiclient/extras/first_server_install.sql
quit
In the Linux terminal, enter these commands
/usr/share/astguiclient/ADMIN_area_code_populate.pl
cp /usr/src/astguiclient/extras/performance_test_leads.txt /usr/share/astguiclient/LEADS_IN/
/usr/share/astguiclient/VICIDIAL_IN_new_leads_file.pl –forcelistid=107 –forcephonecode=1
Make several entries in the rc.local of your system:
nano /etc/rc.d/rc.local
### sybsys local login
touch /var/lock/subsys/local
# 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 up the MySQL server
/etc/init.d/mysqld start
### start up the apache web server
/etc/init.d/httpd 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 zaptel drivers
modprobe zaptel
modprobe ztdummy
/sbin/ztcfg -vvvvvvvvvvvv
### sleep for 20 seconds before launching Asterisk
sleep 20
### start up asterisk
/usr/share/astguiclient/start_asterisk_boot.pl
Make several entries in the crontab of your system:
crontab -e
### 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_mix.pl --MIX
#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 and the full day run at night
33 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl
50 0 * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl --last-24hours
## uncomment below if using QueueMetrics
#*/5 * * * * /usr/share/astguiclient/AST_cleanup_agent_log.pl --only-qm-live-call-check
## uncomment below if using Vtiger
#1 1 * * * /usr/share/astguiclient/Vtiger_optimize_all_tables.pl --quiet
### 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
### 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/sbin/ntpdate -u pool.ntp.org 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/monitorDONE -maxdepth 2 -type f -mtime +7 -print | xargs rm -f
### roll logs monthly on high-volume dialing systems
#30 1 1 * * /usr/share/astguiclient/ADMIN_archive_log_tables.pl
### 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
30 0 * * * /usr/bin/find / -maxdepth 1 -name "screenlog.0*" -mtime +4 -print | xargs rm -f
Final Adjustments
It is important to change the externip and localnet values in the sip.conf
The externip needs to be the public ip of your server.
The localnet will consist of the public ip/netmask of your server.
nano /etc/asterisk/sip.conf
externip = 75.75.75.75
localnet=75.75.75.75/255.255.255.248
Run this perl script to update the server_ip fields in the asterisk tables (copy the command as-is)
/usr/share/astguiclient/ADMIN_update_server_ip.pl –old-server_ip=10.10.10.15
Update music on hold configuration
nano /etc/asterisk/musiconhold.conf
;
; Music on Hold -- Sample Configuration
;
[default]
mode=files
directory=/var/lib/asterisk/mohmp3
[quiet]
mode=files
directory=/var/lib/asterisk/quiet-mp3
#include musiconhold-vicidial.conf
* There are other sample configration files in /usr/src/astguiclient/docs/conf_examples/ that you might want to look at and maybe copy from and customize.
Lastly, reboot the machine
reboot
Diagnostics
After reboot, check your logs for any errors, make sure asterisk is up and running. Be proactive and look for problems before you start configuring vicidial.
Run these commands to view log files:
tail -f -n 50 /var/log/asterisk/messages
tail -f -n 50 /var/log/messages
more /var/log/dmesg
tail -f -n 40 /etc/httpd/logs/error_log
tail -f -n 40 /var/log/maillog
tail -f -n 40 /var/log/cron
Run this command:
screen -ls
The output should look similar to this:
There are screens on:
4090.asterisk (Detached)
4077.ASTfastlog (Detached)
8325.ASTsend (Detached)
8322.ASTupdate (Detached)
4004.astshell20110228193500 (Detached)
8334.ASTVDremote (Detached)
8328.ASTlisten (Detached)
12192.ASTVDadapt (Detached)
8331.ASTVDauto (Detached)
9 Sockets in /var/run/screen/S-root.
Start using vicidial
Login to vicidial and configure it.
Add users, campaigns, in-group, DID’s, server, etc….
Go to: http://youripaddress/vicidial/admin.php
The default username is: 6666 and the password is: 1234
Security Notes
When you get vicidial configured and working, make sure to follow basic common sense server administration rules like setting up a firewall, changing default passwords, disallow remote mysql connections and stop the unnecessary services.
Sunday, November 25, 2012
Telemarketing Tips For Cal Centers.
Telemarketing Tips
Every Telemarketer needs “How To” telemarketing tips and advice from time to time. Our role as Telemarketers is seen as simple. Mostly, this is true, but it is not always easy!
What is Telemarketing?
Professionals who use the phone must be personable, that’s a given. But more importantly they need to be skilled. Consumers are more educated and they receive more marketing calls than ever before. In this market, we need to really deliver beyond our clients expectations if we want great results.
Click here for more Keys to Success…
When a Telemarketer asks me what they need to do to make more sales or to get more appointments, my Telemarketing Tip is simple.
Work Harder or Work Smarter. Or better still, do both!
Working harder is the simple part of the equation. Pick up the phone! Pick it up more quickly and more often.
Spend less time shuffling paper, writing notes and chatting to colleagues. By better utilising the time you have set aside for making calls, you allow yourself to work the numbers. What is working the numbers?
Someone once explained it to me by using an analogy that compares ourtelemarketing calls to a pack of cards.
You see, if you make enough calls you will automatically come across the diamonds, the people who were actually looking at or thinking about exactly what you offer. But what about the other suits, what happens to those customers I hear you ask?
For those customers we need to work smarter!
Working the numbers alone may keep you employed in a Call Centre for a period of time, but not for a long time. Leads and lists cost money!
A good business owner or manager will not want staff who burn through all of their calls without getting a result. This costs companies ridiculous amounts of money. A good business wants staff who can work smarter, people who can make less calls and get more results. When you can do this you are worth big bucks!!
Working Smarter is the way that professional Telemarketers and Sales people go.
If you are going to pick up the phone to gain business, then do it well! Understand how your customer thinks, feels and what they want. Deliver you call in a way that your customer can relate to and that makes them want to take action! Understanding Consumer Behaviour is essential for a smart telemarketer.
If we go back to our pack of cards analogy, only a skilled telemarketer or Sales person will be able to communicate their message in a way that attracts the hearts.
The Clubs are even harder, so your skill set must be greater still. And only the best of the best can please the spades!
Have you ever wondered why some people can have an 80% success rate on their calls and others only a 20% success rate?
The answer is simply that the 80%-ers work on understanding and listening to their clients so that they can fill their customers specific need. The 20%-ers just say the words without a strong personal telemarketing skill set.
The basis of every good telemarketing call is some type of script or call guidelines.
Every Telemarketer needs “How To” telemarketing tips and advice from time to time. Our role as Telemarketers is seen as simple. Mostly, this is true, but it is not always easy!
What is Telemarketing?
Professionals who use the phone must be personable, that’s a given. But more importantly they need to be skilled. Consumers are more educated and they receive more marketing calls than ever before. In this market, we need to really deliver beyond our clients expectations if we want great results.
Click here for more Keys to Success…
When a Telemarketer asks me what they need to do to make more sales or to get more appointments, my Telemarketing Tip is simple.
Work Harder or Work Smarter. Or better still, do both!
Working harder is the simple part of the equation. Pick up the phone! Pick it up more quickly and more often.
Spend less time shuffling paper, writing notes and chatting to colleagues. By better utilising the time you have set aside for making calls, you allow yourself to work the numbers. What is working the numbers?
Someone once explained it to me by using an analogy that compares ourtelemarketing calls to a pack of cards.
You see, if you make enough calls you will automatically come across the diamonds, the people who were actually looking at or thinking about exactly what you offer. But what about the other suits, what happens to those customers I hear you ask?
For those customers we need to work smarter!
Working the numbers alone may keep you employed in a Call Centre for a period of time, but not for a long time. Leads and lists cost money!
A good business owner or manager will not want staff who burn through all of their calls without getting a result. This costs companies ridiculous amounts of money. A good business wants staff who can work smarter, people who can make less calls and get more results. When you can do this you are worth big bucks!!
Working Smarter is the way that professional Telemarketers and Sales people go.
If you are going to pick up the phone to gain business, then do it well! Understand how your customer thinks, feels and what they want. Deliver you call in a way that your customer can relate to and that makes them want to take action! Understanding Consumer Behaviour is essential for a smart telemarketer.
If we go back to our pack of cards analogy, only a skilled telemarketer or Sales person will be able to communicate their message in a way that attracts the hearts.
The Clubs are even harder, so your skill set must be greater still. And only the best of the best can please the spades!
Have you ever wondered why some people can have an 80% success rate on their calls and others only a 20% success rate?
The answer is simply that the 80%-ers work on understanding and listening to their clients so that they can fill their customers specific need. The 20%-ers just say the words without a strong personal telemarketing skill set.
The basis of every good telemarketing call is some type of script or call guidelines.
Subscribe to:
Posts (Atom)