iLBC vs g729 — The quick guide to using compressed codecs in Elastix

Tuesday, November 17th, 2009

We all know that g711 (alaw / ulaw) is meant to sound the best. It’s uncompressed and equivalent quality to ISDN, which most businesses are used to with their traditional PABX System.

However, it comes at a price, 64kbps + overheads means around 111kbps when you factor in everything else over an ADSL PPPoA / PPPoE connection.

Now that’s a LOT when you think about it, considering on a standard ADSL2+ line you’re going to max out at around 5-7 SIP lines, especially if it’s a shared connection. This is where a compressed codec such as (My personal favorite) iLBC, or g729, can be incredibly cost effective, as you can load up around 15-20 on the same sort of bandwidth. When you’re a small business, that means with the right kind of QoS, you can share your ADSL Broadband connection and still have 5-10 concurrent phone calls, all happily living together.

So do away with expensive BRI interfaces and monthly charges, and go SIP!

We’re going to look at a few things very briefly:

1) MOS – What is it and why do I care?

2) Which codec is right for me?

3) g729 – Installation

4) iLBC – Installation

5) Trunk and Extension setup

6) Testing the codecs

(more…)

  • Share/Bookmark

Skype for Elastix (Asterisk)

Saturday, November 14th, 2009

Introduction
===========

Previous to the release of Skype for Asterisk, many users have implemented a range of Third Party products and tools that required usually a separate machine as a Skype Gateway. It was a messy way of implementing it as the Skype API was more of a high level API and it was the only way of implementing it. Whilst commercially these gateways were used, they were not an ideal commercial solution with increased points of failure and complexity.

Recently Skype had a change of mindset and started working with a few interested parties to implement a more integrated approach  with a lower level API, which means a cleaner integration. Asterisk was one of these parties and  have worked together with Skype to produce a product call Skype for Asterisk.

It does have a cost, but to be fair, it is quite a reasonable one for the functionality, and there is licenced proprietary code which needs to be paid for. Now there have been a few people saying that $US66 is expensive to pay per channel, many of them who run an Asterisk based systems at home. Most businesses who recognise the value and want this functionality, will dismiss the cost immediately. With 405 million registered Skype users world wide, and based on the fact that 30% of these users are business users, leaves you with 121 million potential people who can call your business directly for free (especially if your product is an international product), whether it is for support, ordering a product or your own remote offices that already have Skype installed on their desktop, it is a very small cost to pay.

Now before you get started. There is one very important concept that is important and something that you may not have come across before. The Skype account must be a Skype Business Account http://www.skype.com/business/products/business-control-panel/ . Now don’t panic as you see all the monetary values on the Skype page. The business control panel was not purely setup for Skype for Asterisk. This business control panel was originally setup to allow businesses to control and monetarily monitor their employees Skype usage. This mechanism however is the only way that it can be implemented. It is not a big deal, just a matter of registering, and once completed, create a username under that account that will be used for your Skype for Asterisk.

Now before you start, I recommend have a brief read through the document on the Digium website as it does contain some additional information that doesn’t required repeating here. https://www.digium.com/en/supportcenter/documentation/viewdocs/SFA

Now the other reason to go to that website is to confirm the latest versions of software and their links. Likewise you may need to replace the links in this tutorial with ones more suited to your setup (e.g. you might need the x64 versions). The tutorial below is based on the Elastix 1.6 on a 32bit platform (previous to this it worked fine on a 1.5 – possibly with yum updates which brought the Asterisk version up to the required level). (more…)

  • Share/Bookmark

Welcome to the Elastix Blogs

Friday, November 13th, 2009

In this blog you would find information related to events, technical documentation, and everything related to Elastix. People who write in this blog are well known members of our community that are willing to share their knowledge with the rest of us. Nevertheless, anyone who wishes to submit an article can do it.

If you have a tip or an experience you want to share with the community about Elastix in this blog, please submit your article to rbonifaz[at]elastix.org. Palosanto Solutions will analyze the articles and define which ones will be published. All articles must be released with the GNU/FDL license.

To begin, we have the following two articles:

  • The first article is about a cheap, fast and efficient way to implement QoS with Elastix. This article is written by Josiah Spackman (chilling_silence) from New Zeland.
  • The second article is about interoffice trunking with IAX. Thanks to Bob Fryer, learn how to connect two offices together using Elastix.
  • Share/Bookmark

Interoffice Trunking with Elastix & IAX Part1

Thursday, November 12th, 2009

Introduction
=========

As a business grows, it is necessary to open further offices, usually in separate locations, or due to geographic requirements, they need a warehouse or distribution center that is separate to the head office.

One of the issues that occurs is the isolation of the two or more offices, almost as though they are two separate businesses. This occurs due the geographic isolation, but also in many cases isolation as they are using separate systems. Even the necessity, when dialling the other office, to dial a full phone number, continues to enforce this isolation.

It is surprising, especially in an office culture, how a simple change of dialling other office extensions directly, makes a change to the mentality of how the other office(s) are perceived. Add a few other functions such as the receptionist console providing visibility of the other office extensions (and their visibility of yours), and even an internal Instant Messaging/Presence ability that works across the two offices, and the culture changes. Further add in the ability for any staff to call the person that they need direct, knowing that there is no cost for the call.

I have seen it on many occasions, and I have had discussions with company directors who will categorically state that it has had a huge impact on their business efficiency and co-operation between branches due to a more homogenous single business. They also know that calls between all their offices have no call costs, and even if they wish to, they could stretch it further to include video between the various offices, either in a single room at each site, or at key staff desktops.

This document is not going to cover how to implement instant messaging, or the receptionist console, or how to setup video as these are generally covered by other tutorials on this site. Like all good systems, it is best implemented one building block at a time, test, and then move to the next phase, unless you are very experienced in which case, you generally don’t require this tutorial .

So the purpose of this guide is to provide you with the step by step guide on how to connect two offices together utilising an Elastix system in both offices.

Planning
======

Connecting two offices or sites with Elastix is relatively simple, but like all good things a bit of planning ahead of implementation is a good investment. I have seen many mistakes made, not from not understanding the concepts, but actually becoming confused with setup details and not putting the basic building blocks in place first. Some do start with the basic building blocks, but part way through they make a leap feeling confident, making changes on the fly, and then it ends up not working.

So it is important to write out what you are trying to do, it will make it easier in the long run. Even printing the configs from this tutorial, making changes to the names to suit your setup, will keep you on the right track.

This planning also extends to making sure that each site is using a separate set of Extension numbers e.g. 200 range in Sydney and the 500 range in Melbourne. This simplifies your routing rules. If you are setting up the two Elastix systems for the first time, then this is worth considering the particular numbering separation to make it easy for both yourself and the business. It may not always possible, especially if the two systems are already in existence and already using a common extension numbering scheme, and this is covered quickly at the end of this tutorial.

The Scenario
===========

This is scenario and configurations are taken from a production system, so you know that they work.

The company has two offices one in Sydney and one in Melbourne. The office in Sydney has 60 staff and the one Melbourne has 20 staff

The two offices have a Virtual Private Network (VPN) between them which will generally be the case with most businesses that need to share or access data between their offices.

Elastix IP Address & IP Ranges used by each office
The Sydney office has a 192.168.0.0/255.255.255.0 ip address range
The Sydney Elastix system has an ip address of 192.168.0.100
The Melbourne office as a 192.168.1.0/255.255.255.0 ip address range
The Melbourne Elastix system has an ip address of 192.168.1.100

Extensions setup on Elastix at each Office

Sydney : Extensions 201 – 260
Melbourne : Extensions 501 – 521
MelSydOfficeVisio (more…)

  • Share/Bookmark

Quick and Easy QoS with Tomato

Tuesday, November 10th, 2009

SIP combined with Elastix is nothing short of amazing.

Cost savings, flexibility, functionality, and I’ll say it again: Cost savings!

When deploying Elastix to use SIP over ADSL (for example), many find their existing Broadband connection does not quite provide satisfactory call quality, usually due to sharing the connection with other traffic.

We will follow this post up later with another on Diagnosing connectivity / quality issues.

NOTE: This is not the only way to do QoS, but after having struggled with the likes of pfsense, the budget / useless junk that many routers build in, and a host of other software / hardware solutions, I found Tomato did it the easiest, the best, and the most reliably! It’s a breeze to setup, and you’ll be kicking yourself for not having set something like this up earlier. (more…)

  • Share/Bookmark