Home Cloud & Networking Elastix Unified Communications Server Cookbook

Elastix Unified Communications Server Cookbook

By Gerardo Barajas Puente , Gerardo B Puente
books-svg-icon Book
eBook $43.99 $29.99
Print $54.99
Subscription $15.99 $10 p/m for three months
$10 p/m for first 3 months. $15.99 p/m after that. Cancel Anytime!
What do you get with a Packt Subscription?
This book & 7000+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook + Subscription?
Download this book in EPUB and PDF formats, plus a monthly download credit
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook?
Download this book in EPUB and PDF formats
Access this title in our online reader
DRM FREE - Read whenever, wherever and however you want
Online reader with customised display settings for better reading experience
What do you get with video?
Download this video in MP4 format
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with video?
Stream this video
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with Audiobook?
Download a zip folder consisting of audio files (in MP3 Format) along with supplementary PDF
What do you get with Exam Trainer?
Flashcards, Mock exams, Exam Tips, Practice Questions
Access these resources with our interactive certification platform
Mobile compatible-Practice whenever, wherever, however you want
BUY NOW $10 p/m for first 3 months. $15.99 p/m after that. Cancel Anytime!
eBook $43.99 $29.99
Print $54.99
Subscription $15.99 $10 p/m for three months
What do you get with a Packt Subscription?
This book & 7000+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook + Subscription?
Download this book in EPUB and PDF formats, plus a monthly download credit
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook?
Download this book in EPUB and PDF formats
Access this title in our online reader
DRM FREE - Read whenever, wherever and however you want
Online reader with customised display settings for better reading experience
What do you get with video?
Download this video in MP4 format
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with video?
Stream this video
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with Audiobook?
Download a zip folder consisting of audio files (in MP3 Format) along with supplementary PDF
What do you get with Exam Trainer?
Flashcards, Mock exams, Exam Tips, Practice Questions
Access these resources with our interactive certification platform
Mobile compatible-Practice whenever, wherever, however you want
  1. Free Chapter
    Installing Elastix
About this book
Publication date:
March 2015
Publisher
Packt
Pages
348
ISBN
9781849519342

 

Chapter 1. Installing Elastix

The topics covered in this chapter are:

  • Installing Elastix Unified Communications Server software

  • Inserting the CD-ROM in the desired server or host

  • Choosing the system language

  • Choosing the keyboard type

  • Partitioning the hard disk

  • Configuring the network interfaces

  • Selecting a proper time zone

  • Entering the password for the user root

  • Logging into the system for the first time

 

Introduction to Elastix Unified Communications System


There is a revolution going on in the telecommunications field these days. The world is getting smaller, bandwidth is growing, and protocols are getting increasingly standardised, open, and stable.

It was in 1999 when Mark Spencer began a very important project: Asterisk PBX. The advantages of open source licensing allowed this project to develop features unachievable using traditional telephony devices, at very competitive prices.

Nowadays, enterprises are not merely looking for telephonic solutions (PBX) anymore; they are looking for integrated, complete, and out-of-the box solutions that allow them be as productive as possible. They want to keep their co-workers connected, reachable, and available at all times. If a CTO calls any coworker and the call is not answered, because the person was at the lobby receiving a customer, it will be routed to this coworker's cellular phone, which happens to have a Session Initiation Protocol (SIP) client registered to the PBX using the wireless LAN of the building.

The cost of this call is almost $0. However, if this coworker does not answer his cell phone, this call can be forwarded to a voicemail. The Voicemail System can send the voice message to an e-mail and when this person arrives at the office, he will have the "message waiting" indicator LED on his phone notifying him that he has a voice message.

Elastix's brief history

We all know that Asterisk runs on Linux and has gained so much attention that it has made system administrators, integrators, developers, and tech-savvy individuals see a big opportunity in business, but sometimes their knowledge of Linux is limited. This has led to projects such as FreePBX, Trixbox, AsteriskNOW, Elastix, and PBX in a Flash that fulfill the need to configure and administer Asterisk PBX without being a Linux expert.

However, Edgar and José Landívar of Palosanto Solutions went far beyond this. In March 2006, they released the first version of Elastix. This first version was only a visual reporting tool, and by December 2006, Elastix was officially released as a Unified Communications suite using Linux CentOS as the operating system.

The project began to gain attention because all the communications software was completely integrated and available with the PBX engine. There was no need to recompile the fax system, for example. You just had to configure it. There was no need to recompile the drivers for a public switched telephone network (PSTN) card. You only had to install it physically on your server (or PC), Web-GUI would detect the card, and you would be able to configure it as well.

In many Latin American countries, digital E1 telephony lines use a very old and limited protocol called Multi-Frequency Compelled R2 (MFC/R2 or just R2). In order to make this kind of telephony lines and cards support MFC/R2 for Asterisk, there is a module from an abstraction layer called Unicall (by Steve Underwood) that must be downloaded and compiled; after this patch, Asterisk has to be recompiled. This situation was very stressful for many aficionados. However, thanks to Palosanto Solution's view, since the first release of Elastix, this library has been compiled and installed. Users just needed to configure all the parameters to have their R2 E1 lines work with Asterisk.

Later, with the help of Moisés Silva (the creator of the Openr2:MFC/R2 signaling library), the support for MFC/R2 protocol was much easier. Providing support for the Spanish language gave Elastix a big advantage over other open source telephony distributions. This innovative "vision" has made this project very important these days in the open source telephony solutions community. Today, Palosanto Solutions have achieved a long list of awards and more than one million downloads.

What is Elastix?

Elastix is an open source unified communications platform that uses Community Enterprise Operating System Linux(CentOS) as the operating system. The best way to describe Elastix is with the following diagram:

As you can see, the elements involved in Elastix's architecture allow any user or enterprise to use the PBX as a gateway to the PSTN, and incorporate many other tools, programs, and elements to communicate in a more efficient way.

For example, users can receive a fax in their e-mail account, or they can have remote extensions in order to integrate all office branches and use them as a single entity to reduce call costs.

Users can also start video calls and video conferences by using their own devices such as cell phones and tablets.

Features list

Elastix's main features can be grouped in general as IP-PBX, fax, e-mail, collaboration, and messaging features. The following sections list these features, among others.

General features

The following table lists Elastix's general features:

General Features

Online embedded help

Centralized updates management

Voicemail

Web interface configuration

System resources monitor

Backup/restore support via web

Network configuration tool

Support for Skinny/ Media Gateway Control Protocol (MGCP) protocols

Server shutdown from the web GUI

Configurable server date, time, and time zone

Access control to the interface based on Access control lists (ACL)

Port knocking

Backs up on an FTP server

Elastix's marketplace

Heartbeat module

New dashboard

Elastix modules and RPMs

Elastix news applet

DHCP client list module

Hardware detector enhanced

Automatic backup restore

Telephony hardware information

Backup restore validation

Communication activity applet

DHCP assigned by MAC

Process status applet

IP-PBX main features

The following table lists Elastix's telephony features:

Telephony Features

Call recording

Conference center with virtual rooms

Voicemail

SIP and Inter-Asterisk eXchange (IAX) codecs support, among others

Voicemail-to-e-mail functionality

Supported codecs: Adaptive differential pulse-code modulation (ADPCM), G.711 (A-Law & μ-Law), G.722, G.723.1 (pass through), G.726, G.728, G.729, GSM, and iLBC (optional) among others.

Flexible and configurable Interactive voice response (IVR)

Support for analog interfaces as Foreign eXchange Subscriber (FXS) / Foreign eXchange Office (FXO), (PSTN/POTS)

Voice synthesis support

Support for digital interfaces (E1/T1/J1) through PRI/BRI/R2 protocols

IP terminal batch configuration tool

Caller ID

Integrated echo canceler by software

Multiple trunk support

Endpoint configurator

Incoming and outgoing routes with support for dial pattern matching

Support for videophones

Support for follow-me

Hardware detection interface

Support for ring groups

DHCP server for dynamic IP

Support for paging and intercom

Web-based operator panel

Support for time conditions

Call parking

Support for PIN sets

Call detail record (CDR) report

Direct Inward System Access (DISA)

Billing and consumption report

Callback support

Channel usage reports

Support for Bluetooth interfaces through cellphones (chan_mobile)

Support for call queues

Elastix Operator Panel (EOP)

Distributed dialplan with Dundi

VoIP provider configuration

Support for softphones

Virtual conference rooms

PBX interconnection

Least cost routing

Fax features

The following table lists all the features related to fax:

Fax server based on HylaFAX

Fax-to-e-mail customization

Fax visor with downloaded PDFs

Access control for fax clients

Fax-to-e-mail application

Can be integrated with Winprint HylaFAX

SendFax module - fax sent through web interface

 

Collaboration features

The following table lists the collaboration-related features:

PBX-integrated calendar with support for voice notifications

Web conference

Phonebook with click-to-dial capabilities

Calendar module

Integrated Customer relationship management (CRM) to VTiger CRM

Billing support with A2Billing

Extension roaming

 

Instant messaging

The following table lists all the features related to instant messaging:

Openfire instant messaging server

User session reports

IM client-initiated calls

Jabber support

Web-based management for IM server

Plugin support

IM group support

Lightweight Directory Access Protocol (LDAP) support

Support for other IM gateways like MSN, Yahoo Messenger, GTalk, and ICQ

Server-to-server support

E-mail

The following points list all the e-mail related features:

  • Mail server with multi-domain support

  • Web-based management

  • Support for mail relay

  • Web-based email client

  • Support for quotas

  • Anti-spam support

  • Based in Postfix for high email volume

 

Installing Elastix Unified Communications Server software


Elastix Unified Communications Server's operating system is CentOS Linux. To install it, we need a PC or server and a bootable CD-ROM with Elastix Unified Communications System. The most common installation process is via CD-ROM. However, it is possible to install Elastix by using a USB device or virtualization software. For the purposes of this book, we will be working with Elastix Stable Release 2.5.0, which can be downloaded from www.elastix.org.

Depending on the hardware specifications, we have to choose between a 32-bit and a 64-bit distribution. Considering that 32-bit operating systems cannot work with more than 4 GB RAM computers, it is always desirable to work with 64-bit operating systems in order to have a more stable and reliable system.

The minimum system requirements for a small office with 12 analog lines (or trunks) and perhaps 12 extensions are as follows:

  • CPU Speed: 1 GHz

  • RAM: 1 GB RAM

  • Hard Disk: At least 80 GB

It is very important to create a very good design for any Unified Communications System from the beginning. It does not matter how many features your system may have (which involves the PBX part) or how amazing it is, if the voice quality is poor, the chances of replacing your system with another solution are very high.

The main elements to cover when designing a VoIP solution are as follows:

  • Resources of the hardware on which the Elastix Unified Communications System will be installed

  • Quality of service in the LAN/VLAN

  • Number of simultaneous (or concurrent) calls expected

  • Number and type of external lines and internal endpoints

  • Transcoding, recording calls, conferencing, and queues, as they demand more resources than a regular two-way call

  • Additional services such as an e-mail service and a DHCP service

Before installing Elastix Unified Communications Server, it is necessary to check whether the PC or the server has CD-ROM booting capabilities. If this booting option is not available, please try using a USB device or an external CD-ROM device.

In order to check the booting capabilities of a PC/server, we must access its BIOS (which stands for Basic Input Output System (BIOS) and follow its menu either to check it or enable it. This is usually done by pressing the Delete, F1, F2, or Esc key.

 

Inserting the CD and booting


After downloading the Elastix Unified Communications Server software, the file will be saved as an ISO image. It is mandatory to "burn" this image to a CD by using burning software and selecting the BURN ISO IMAGE or BURN ISO or BURN IMAGE option.

How to do it…

  1. Turn on the destination device (PC or Server).

  2. Place the CD into the CD tray immediately after turning on the PC/server. If all goes well, we will see the following screen:

  3. Press the Enter key at the boot prompt to start the installation process.

There is more…

We can wait for 15 seconds or simply press the Enter key, and the installation process will start automatically. However, we will describe the options accessible with the F1, F4, F3, F4, and F5 keys. The first option F1-Main will allow us to return to the Main Booting Menu. The F2-Options are the Installer Boot Options.

In this option, it is possible to select booting options such as to disable hardware probing (linux noprobe), enable rescue mode (linux rescue) and so on. To enable any of these booting options, we just type the desired option after the boot prompt and press Enter. Sometimes, when the Advanced Programmable Interrupt Controller (APIC) is present on newer motherboards and causes some problems during installation, it has been known to cause problems on older hardware. In order to avoid such issues, it is better to disable it. This can be done by typing linux noapic or linux acpi=off. This is useful on some older systems and is a requirement for using advanced power management (APM). This will disable the hyper-threading support of our processor. The F3-General option will display the General Boot Help.

The F4-Kernel provides Kernel Parameter Help. To pass an option to the kernel, we use the format: linux <options>.

The F5-Rescue option is used for rescuing an already-installed system.

 

Choosing the system's language


The next screen is the Choose a Language screen. On this screen, we choose the language that we will use during the installation process. As shown at the bottom of the screen, the Tab key allows us to jump between options. The Spacebar key will let us select any option with * and may work as the Enter key. The F12 key will select the highlighted option and go to the following screen.

How to do it…

Here are the steps to select the system's installation language:

  1. Select the language you would like to use by using the arrow keys from the keyboard.

  2. Press Tab to move to the OK button.

  3. Once the OK button is highlighted, press the Spacebar key or Enter.

These steps are shown in the following screen-shot:

 

Choosing the keyboard type


The next screen is the Keyboard Type screen where we will select the type of keyboard we are using in this process.

How to do it…

Here are the steps to choose the keyboard type:

  1. Use the arrow keys and then press Tab highlighting the OK button.

  2. Press the Spacebar key or Enter, as shown in the following image:

 

Partitioning the hard disk


After the previous step, the following screen may or may not appear; it depends on the hard disk status of the PC/server. If the hard disk has not being partitioned or does not have a valid partition table, it will indicate the need to initialize the disk. The YES option is already highlighted. Press Enter to proceed.

The next screen is the Partitioning Type screen. It displays the hard disk or disks detected by the installation script. If the PC/server has a RAID array of disks, the installation program will also display it on this screen as a single hard disk. The installation program was created to automatically partition the selected disk. To deploy an efficient Elastix Unified Communications Server installation, it is highly recommended to dedicate the entire hard disk space.

How to do it…

Here are the steps to partition a disk:

  1. Use the arrow keys from the keyboard to move the selection up to Remove all partitions on selected drives and create default layout. as shown in the next screenshot. If we have multiple drives in our system, we need to make sure that it has chosen the correct drive.

  2. Use Tab to move to the OK button.

  3. Press the Spacebar key or Enter.

  4. The next image asks you to confirm the hard disk that will be formatted, as all previous data will be erased.

    Tip

    If your server or system has a RAID system, in most cases it is already configured from the factory, so there is no need to make any special configurations when installing Elastix. CentOS Linux sees your RAID system as a single hard disk. We need to make sure the hard disk to be formatted is equal to your RAID free space.

  5. Choose No in the Review Partition Layout with the Tab key and then press Enter.

 

Configuring the network interfaces


The next screen is the Configure Network Interface screen. It is very important to configure at least one network interface in order to have Elastix working properly.

On this screen, all the Ethernet or network interface cards detected by the installation program will appear. Select with the arrow keys the first one on the top of the list (eth0).

How to do it…

  1. Select the Activate on boot option to activate the card whenever the system is restarted or initialized.

  2. Select IPv4 support (Enable IPv4 support).We leave IPv6 support not enabled.

  3. The next screen is called IPv4 Configuration for eth0. In this section, the main characteristics of IP addressing for the Ethernet Interfaces are set and configured. We must decide between provisioning an IP address for the Ethernet card via a DHCP server or configuring it statically (Static). It is highly recommended to assign a static IP address to the system to ensure the correct performance of all services. If the IP address is assigned via DHCP, there is a risk that the system could get a different IP address at the next restart. This can lead to the IP phones never registering, for example.

  4. To configure a static IP address, it is imperative to know which IP address, net mask, gateway, and DNS will be used. To add these values, use the arrow keys to move to the desired option and press Enter to add/edit them. At the end, we press Tab to highlight the OK button and press Enter to go to the next step.

  5. In the Miscellaneous Network Settings, we must add the Network Gateway IP address and the primary and secondary DNS addresses in order to route all packets through the LAN. At the end, we press Tab to highlight the OK button and press Enter to set these parameters and proceed to the Hostname Configuration screen.

  6. On the next screen, we declare the name of the system. It could be elastix-server or elastix-pbx or whatever name you decide, just to identify the server on the network. If we select the option to name the system automatically via DHCP, the LAN DHCP will assign the name of the server if this option has already been set in the DHCP server.

  7. If not, our server will have the name localhost. We select the manually option with the Spacebar, then go to the editing section with the Tab key and type the desired name for our system. Finally, we press Tab to highlight the OK button and press Enter.

 

Selecting a proper time zone


On the next screen, we can set the time zone of our server. It is highly recommended to use the System clock uses UTC option.

How to do it…

Use the Tab key and Spacebar to navigate between options. It's important to have this feature set, because it has a huge impact on the Call Detailed Report (CDR), for example.

 

Entering the password for the user root


After setting the server's time zone, the most critical screen will be displayed, called Root Password. Here, the password is set for the super-administrator user of the system (root). If this section is skipped or the password is forgotten, the system's security and operations are compromised. Although there are some tricks to changing the root password even if the system is in production, it is better to set this password at this time. We will use a complex but easy-to-remember password. This password is case sensitive, so we check whether the Caps Lock key is enabled or disabled.

How to do it…

Type the password twice in the relevant boxes. When finished, use the Tab key to move to the OK button and press Enter.

There is more…

After this step, a variety of screens will appear. These screens will inform you that the Elastix System is being installed and its status (Dependency Check, Formatting, and Package Installation).

When the Package Installation screen appears, it means that all packages needed for the system are being installed. The following screens show, the number of packages already installed and to be installed, the amount of time elapsed, and the remaining time to end the installation.

Finally, the installation program will ask us to remove the CD-ROM, as it will reboot the server.

 

Logging into the system for the first time


When the system is rebooted for the first time, you will notice the status of services that are starting (OK or FAIL). Sometimes, the FAIL status is displayed because your system is searching for telephony cards that are not physically installed, but their drivers are being loaded.

How to do it…

  1. As soon as the reboot process is finished, a script will be executed. This script will guide us through the process of setting the MySQL database administrator password and Elastix Web Login, FreePBX, VTiger, FOP, and A2 Billing administrator user (admin) password.

    Tip

    This is done this way because in earlier versions of Elastix, these passwords were well known and if the system was exposed to the Internet improperly, its security was compromised. Therefore, the possibility of telephone fraud was very high.

  2. The screen that asks for this setting is as follows. Remember that we need to introduce these passwords twice and that these passwords should be different from the root's password. The following screen is for introducing the MySQL database root password for the admin user:

  3. Validate the MySQL root password for the admin user:

  4. Set the admin password for Elastix Web Login, FreePBX, VTiger, FOP, and A2Billing.

  5. Validate the admin password:

  6. Finally, when all these steps are done, we will see the login prompt as follows:

  7. We will log in at the login prompt with the following credentials and actions:

    User: root

    Password: (The one we entered in the Root Password screen)

  8. After doing this, we will see the following screen that confirms that our installation was successful. Notice that it shows the IP address of our Elastix server:

As you can see, installing Elastix Unified Communications Server is simple process. It demands the knowledge of few parameters to install it and there is no need to recompile or compile elements or modules. Nevertheless configuring it makes the difference between an excellent communications platform or a bad one.

About the Authors
  • Gerardo Barajas Puente

    Gerardo Barajas Puente is an electrical and electronics engineer with more than 10 years of experience in the VoIP/ToIP field. He is currently employed as a CTO for Neocenter S.A. de C.V., a well-known value-added VoIP distributor in Mexico, Central and South America, and the United States. He has a strong background in signal processing, information security, and VoIP telephony. He has progressed in his career by supporting, testing, designing, and managing VoIP applications and platforms for a wide range of scenarios, such as call centers, corporate offices, multiple-site systems, and so on. He has also done some development (programming) of VoIP solutions with Asterisk, Elastix, and FreePBX with the help of the PHP, Perl, and XML languages. He is one of the first Elastix certified engineers and has spoken twice at Elastix World.

    Browse publications by this author
  • Gerardo B Puente

    Gerardo Barajas Puente is an electrical and electronics engineer with more than 10 years of experience in the VoIP/ToIP field. He is currently employed as a CTO for Neocenter S.A. de C.V., a well-known value-added VoIP distributor in Mexico, Central and South America, and the United States. He has a strong background in signal processing, information security, and VoIP telephony. He has progressed in his career by supporting, testing, designing, and managing VoIP applications and platforms for a wide range of scenarios, such as call centers, corporate offices, multiple-site systems, and so on. He has also done some development (programming) of VoIP solutions with Asterisk, Elastix, and FreePBX with the help of the PHP, Perl, and XML languages. He is one of the first Elastix certified engineers and has spoken twice at Elastix World.

    Browse publications by this author
Latest Reviews (2 reviews total)
Out of Date Information Sold as Guide to a key operational product
Elastix Unified Communications Server Cookbook
Unlock this book and the full library FREE for 7 days
Start now