Beginner’s Guide

Introduction

This is a simple step-by-step guide for installation of the necessary components to install Newfies-Dialer. It covers the installation of the operating system, Freeswitch, Plivo and Newfies-Dialer along with all the dependencies, followed by setting off the first Newfies-Dialer campaign, and can be achieved in under one hour, given suitably quick broadband.

Operating System Installation

We recommend that you use Ubuntu LTS 10.04 server edition, and this document is written with this in mind. To take advantage of modern hardware the 64 bit edition may be used. If you are testing on older hardware, it may be necessary to install the 32 bit edition. It is available at http://www.ubuntu.com/download/ubuntu/download
Please note that the Newfies-Dialer install scripts are only designed to work on Ubuntu LTS 10.04 and CentOS 6.2
Burn the image to CD, and install onto your hardware. The installation of Ubuntu is straight forward and simple. The only package to install is SSH Server so that you can manage the server from your desktop PC or Mac. All other packages will be installed by Star2Billing’s Newfies-Dialer installation scripts.
When Ubuntu is installed, it maybe worthwhile installing the latest patches and updates. This is achieved with the following commands.
sudo apt-get update
sudo apt-get upgrade
A reboot after major updates is recommended, type “sudo reboot” at the command line.

Complete Installation.

We have provided automated scripts that installs Newfies-Dialer on your Ubuntu Server and includes all the dependencies such as Freeswitch, Plivo, Celery and Redis.
  • Freeswitch is the telephony engine used by Newfies-Dialer to make calls, as well as play voice applications
  • Plivo is an open source communications framework to rapidly deploy voice based applications used in conjunction with Newfies-Dialer.
  • Celery is the task queuing system.
  • Redis is the task messaging system
NB: The install-all.sh scripts should only be run on a clean installation of Ubuntu Server 10.04  LTS or CentOS 6.2
Once Ubuntu is installed, download and run the install-all.sh installation script. For those unused to Ubuntu, typing “sudo su -“ at the console logs you in as root.
Once logged in as root, execute the following command.
wget https://raw.github.com/Star2Billing/newfies-dialer/master/install/install-all.sh
bash install-all.sh
The installation will prompt you to install Freeswitch, press enter. this will download and install Freeswitch with the modules appropriate for Newfies-Dialer. The installation will take some time, but does not require your interaction once started.
When complete, the install-all.sh script will prompt you to install Plivo. Press enter to continue. This will download and install Plivo and all its dependencies.
NB: Please note that the Plivo script makes alterations to the Freeswitch dial-plan, so it should not be run on an existing working Freeswitch installation, as it will change your current configuration. If you wish to install Plivo on an existing version of Freeswitch, use the script as a guide, or edit it to suit your requirements.
Finally, the Newfies-Dialer selection menu will appear.

Newfies-Dialer Installation

Newfies-Dialer is the management and control system providing a web interface for admin and customers alike, to manage the platform, subscribers and voice broadcast campaigns.
The installation script will prompt you as to what you want to install. For this guide, we chose the option to install all.
During the installation, a number of questions will be asked about your preferences. For the purposes of the this guide, we will go for the default installation using MySQL. When prompted for the database to use, simply press enter.
After some time, a pseudo graphical interface will appear prompting you for a MySQL password. Type in a password, press enter, and type it again to confirm. Take a note of the password.
You will be prompted for the location, name, port and password of Newfies-Dialer database. Go with the defaults, with the exception of the password, where you type in the password entered during the installation of MySQL.
You will be prompted to create a superuser. Accept root, enter your email address, and your chosen password, twice. This will be the username and password you use to log on to the Newfies-Dialer web interface.
Once installed, the system will then prompt you to continue with the installation and install the backend processes. Press enter to continue. On completion, the script will return to the original Newfies-Dialer install menu. Exit the menu.
We can now reboot to ensure that, on startup, all required services are running. Type “reboot” at the command line. We don’t need to type “sudo reboot” as mentioned earlier, because we are already logged in as root.
On reboot log into the new system via your web browser to check that everything is working. Type http://<<IP-ADDRESS>>:8008 into your web browser’s address bar where <<IP-ADDRESS>> is the IP address or hostname of your Newfies-Dialer platform. If you have followed the instructions above, you should be able to login using the username and password you created during the installation.
The scripts are well tested, and there is no reason for them to fail provided you have followed the instructions and you have Internet access. If things have not gone well, and you cannot log on, re-read the instructions and check you have internet access and DNS resolution.

Freeswitch Trunk configuration

In order for Newfies-Dialer to make outbound calls to its subscribers, you will need a SIP trunk. The Freeswitch wiki can provide more information on configuring trunks. However creating a trunk simply for Newfies-Dialer is straightforward.
Trunks or gateways, as they are known in Freeswitch, are configured using XML syntax, so using your favourite text editor, while logged in as root “sudo su -” create an XML file in /etc/freeswitch/sip_profiles/external/ and give it an identifiable name, e.g. call-labs.xml, and place the following lines in the file.
<include>
<gateway name="ip address or hostname of carrier">
<!--/// account username *required* ///-->
<param name="username" value="your username provided by carrier"/>
<!--/// auth realm: *optional* same as gateway name, if blank ///-->
<!--<param name="realm" value="asterlink.com"/>-->
<!--/// username to use in from: *optional* same as username, if blank ///-->
<param name="from-user" value="your username provided by carrier"/>
<!--/// domain to use in from: *optional* same as realm, if blank ///-->
<!--param name="from-domain" value=""/-->
<!--/// account password *required* ///-->
<param name="password" value="your password supplied by carrier"/>
<!--/// extension for inbound calls: *optional* same as username, if blank ///-->
<!--<param name="extension" value="cluecon"/>-->
<!--/// proxy host: *optional* same as realm, if blank ///-->
<!--<param name="proxy" value="asterlink.com"/>-->
<!--/// send register to this proxy: *optional* same as proxy, if blank ///-->
<!--<param name="register-proxy" value="mysbc.com"/>-->
<!--/// expire in seconds: *optional* 3600, if blank ///-->
<!--<param name="expire-seconds" value="60"/>-->
<!--/// do not register ///-->
<param name="register" value="true"/>
<!-- which transport to use for register -->
<!--<param name="register-transport" value="udp"/>-->
<!--How many seconds before a retry when a failure or timeout occurs -->
<!--<param name="retry-seconds" value="30"/>-->
<!--Use the callerid of an inbound call in the from field on outbound calls via this gateway -->
<!--<param name="caller-id-in-from" value="false"/>-->
<!--extra sip params to send in the contact-->
<!--<param name="contact-params" value="tport=tcp"/>-->
<!--send an options ping every x seconds, failure will unregister and/or mark it down-->
<!--<param name="ping" value="25"/>-->
</gateway>
</include>
The lines in bold are almost certainly required by your carrier and Freeswitch, the remaining parameters can be uncommented and used, if required by your carrier. The XML syntax for comments are denoted by lines that begin “ <!– “ and end in “–> “.
Finally we need to load the new configuration, and check the trunk is registered.
The Freeswitch console is accessed by typing “fs_cli” at the command prompt. The logging level can be increased or decreased from level 0 to level 7. to switch off logging, type /log 0 at the Freeswitch console, followed by enter. For the greatest verbosity, type /log 7 followed by enter.
Type “fs_cli” followed by enter.
You should now see the Freeswitch CLI, so now reload the Freeswitch configuration with the following command: (tip; Tab auto-completes)
sofia profile external restart reloadxml
When complete, check the trunk has registered with the following command.
sofia status
Against the name of the trunk you configured in the XML file, you should see REGED (registered) at the end of the line. Take a note of the trunk name, we are going to need it for telling Newfies-Dialer that it can use this trunk.
To exit the Freeswitch CLI, do CTRL D, or /exit
Freeswitch configuration is now complete.

Newfies-Dialer Configuration

For demonstration purposes, we are going to configure one standard voice application supplied with Newfies-Dialer, using the root user, to call only one person.
We are going to tell Newfies-Dialer about the gateway we have configured in Freeswitch, set the   maximum parameters for a customer, create phonebooks containing subscribers to call, configure a VoIP application, add campaign, and start the outbound voice broadcast.

Set Hostname

Some of the features of Newfies-Dialer are dependent on the hostname or IP address, so this has to be set correctly in site address.

In the Admin dashboard, locate the “Sites” link and click change. By default, there will be an entry of “example.com”. Edit this setting to reflect the hostname of the server, or if you do not have this set up, the IP address. e.g.  http://www.domain.tld:8008 or in the case of an IP address, http://192.168.1.200:8008

Newfies-Dialer’s Gateway

Log into the Newfies-Dialer interface using your root username and password previously created in these instructions.
Click Admin, and locate and enter the “Dialer Gateways” panel on the dashboard, then add a dialer gateway. Only the fields in bold need to be filled in. That is to say, the name of gateway, for identification, and the Gateway’s field, e.g.
sofia/gateway/myprovider/
“myprovider” is the name of the gateway which you can take from the gateway name when you typed “sofia status” when configuring the Freeswitch Gateway. Finally, check the status is active, and save. The trunk should now appear in the gateway list.

Dialer Settings

Each customer, including the root user, needs to have Dialer Settings and trunks associated with their account. These set the limit to which each customer can utilise Newfies-Dialer in terms of trunks, calls per minute, call duration, subscribers and campaigns, as well as blacklisting or whitelisting phone numbers.
In the Admin Dashboard, locate the Dialer Settings, and click Add, in the name, put “DS1” and, for the moment, leave the default settings as they are, then save them.
The Dialer Settings have to be associated with the customer’s account. For the purposes of this demonstration, we are using the root user.  In production, you would apply these settings to the customers.
In the Admin dashboard, click Admins, then root. Scroll to the bottom of the page.
  1. Optionally add an accountcode, which can be used for billing in an external billing application to identify the customer from the CDR. The accountcode must be numerical.
  2. Select which Dialer Settings apply to this customer, in this case “DS1″
  3. Select which gateway(s) this customer is allowed to use.
Finally, click save.

Create Phonebook

The phonebook is where lists of subscribers are grouped. Click Customer Panel on the top menu in the Admin Dashboard, then click Phonebook, and add a new phonebook.
Create a new phonebook called, for the purposes of the exercise, PB1, and give it a description.

Add Contacts

Click contact, and add a new contact. As a minimum add a phone number to call in the Contact field, and for the purposes of this demonstration, enter your own telephone number in the format that your carrier expects it. Click Submit.
Repeat as necessary until you have your test numbers added.

Add VoiceApp

Next we are going to configure the voice application that will be executed when Newfies-Dialer calls your phone and you answer. Click VoiP App, then click add. As is traditional with first steps, we will call this app “Hello World”.
The aim is that Newfies-Dialer will call you, and when you answer, Newfies-Dialer will broadcast “Hello World” to you using the text to speech engine in Freeswitch.
Enter Hello World in the name, optionally add a description, in Type, select, Speak, and in Data, type Hello World. Finally, submit.

Configure Campaign

We now have all the components to create and run our campaign, so click campaign, and click add.
Give the Campaign a name, say “CPN Hello World”, optionally, a description, set a caller ID to pass the called party, set the status to pause, select the A-Leg Gateway you configured earlier, the VoIP application, Hello World, and highlight the phonebook PB1, and submit. You will be returned to the list of campaigns. Do a quick check to make sure there are the expected number of contacts.

Start The Campaign

We are now ready to launch the campaign, simply press the Play button against the CPN Hello World campaign.
In a few seconds, your campaign will launch, your phone will ring, and you will hear “Hello World” broadcast to you over the phone.

Conclusion

This is a brief step by step instruction set of installing Newfies-Dialer, and making the first call. Please refer to the advanced documentation on the Newfies-Dialer, Freeswitch, and Plivo websites to cover more advanced topics, and begin implementing your own Voice Broadcast applications.
Star2Billing’s Support Team are on hand to provide one to one installation, support and tuition where required, and Star2Billing’s Development Team can be commissioned to build voice applications and integrate them with third party software and systems.
See the Solutions pages to see scenarios of how Newfies-Dialer may be used.
NB: As with all telephony systems, they are a valuable target on the internet, so before exposing any telephone system to the Internet, do ensure that you have done a security audit. Also note that in some countries, telemarketing, phone polling, and automated dialling is under regulatory control, and advice should be sought as to how best to remain within the limits of the law. First points of reference may be Ofcom in the UK and the Federal Trade Commission (FTC) in the USA.

Comments

Post a Comment

Popular posts from this blog

PHPMixBill V5 mikrotik Billing Solutions

How to install Asterisk and A2billing on Ubuntu Server 12.04LTS

odbcinst: SQLGetPrivateProfileString failed with