Categories
Case Studies

Multi-Site Multi-Country Asterisk network

UPDATE

We have recently added the 5th system to the customers international VoIP network. This system was for their Polish office and is linked to their Tokyo, Sydney, Singapore and London office systems.

Globe

For this site a Sangoma FREEPBX 60 system was chosen for ease of remote deployment and reliability.    The Tokyo & Sydney offices already has a Xorcom XR2000 systems whilst the London and Singapore offices have a Openvox  Asterisk solutions.  .

xe2000-xe3000

For the New International offices FreePBX systems were chosen as they provide a full turnkey system that can be sent out to the office plugged in. The systems initially obtain their IP address by DHCP and once a port is forwarded through the firewall to this address a fixed IP address is assigned and the customer firewall updated. Access to The GUI is by a SSH tunnel so that other than a random port for SSH and a port for IAX2 no other ports need to be opened on the customer firewall. Endpoint manager makes the deployment of handsets on the remote systems a simple and reliable process.

All systems have been linked by IAX2 trunks and the dial-plan configured so that desk to desk calls can be made between all offices and outgoing calls break out of the closest geographic system, for example a user in Sydney making a call to a UK number will have the call originate from the London system and the same goes for Tokyo, Singapore and Polish users calling UK or international numbers.

The network of systems is key to the support of the customers 24×7 support service. This is controlled by a dial-plan that is complicated by the fact that Japan does not have “Daylight saving” so even though the calls land on the UK system we had to configure the dial-plan to take into account local time in Tokyo and not base routing solely on UK time.  This has proved reliable and very successful.

All systems on the network are monitored 24×7 by our Nagios monitoring platform, Not only monitoring Asterisk but also monitoring the status of the international IAX2 trunks.

 

Categories
Knowledge Base

Elmeg IP290 Configuration

elmeg_290_large

 

The Elmeg IP290 are a clone of the Old Snom 190 Sets. and these did support auto configuration. We hoped that it was a simple change to get the files working with the Elmeg.

It turns out that it wasn’t, There are a few gotchas.

  1. The phones dont seem to support tftp download, Just http and https
  2. They dont support sub directories. So files must be in the root directory of your webserver.

Firstly you need to configure your dhcpd.conf

Add the following to the general section

option snom-setting code 66 = string;
option snom-bootfile code 67 = string;

Then the following to the subnet

class “snom-phones” {
match if substring(hardware,1,3) = 00:09:4f;
option snom-setting “https://SERVERIP”;
}

Theb the following are the two files you need to create .

elmegIP290.htm

<html>

<pre>

# example snom general setting file

# After each setting (before the colon) you can set a flag

# General language and time configuration parameter

language: English

web_language: English

timezone: GBR-0

time_server: pool.ntp.org

ntp_server: pool.ntp.org

date_us_format: off

time_24_format: on

user_host1: SERVERIP

user_host2: SERVERIP

tone_scheme: GBR

</pre>

</html>

elmegIP290-00094FMACADDR.htm

<html>

<pre>

# example snom specific setting file

# After each setting (before the colon) you can set a flag

user_name1: 345

user_pass1: PASSWORD

user_name1: 345

user_realname1: 345

user_host1: SERVERIP

user_srtp1: off

user_dp_str1: !([^#]%2b)#!sip:1@d!d

# You may add up to 4 (snom300/ 12 (snom320,snom360,snom370) accounts

# set 1st account to active outgoing identity

active_line: 1

</pre>

</html>

 

Categories
Asterisk Support Elastix Support Knowledge Base Technical

Running a Macro on answer for Asterisk queues.

asteriskThe Asterisk Queue application has an option that will run a macro on answer, This can be very useful when integrating with CRM such as Capsule or call centre applications.

This option isnt included in freepbx, Though this can be hand coded it isn’t best to do this when using Elastix, AsteriskNoW or any other freepbx based system.

To add this option We have written a couple of patched versions of the relevant freepbx pages that can be downloaded here , You will also need to add a extra field to the mysql database as follows

  1. Log in to mysql:   mysql -u root -p
  2. Enter password
  3. mysql> use asterisk
  4. mysql> ALTER TABLE `queues_config` ADD `qmacro` VARCHAR( 255 ) NULL;
  5. mysql> describe queues_config;

You should now have something like this:- | qmacro | varchar(255) | YES | | NULL | | as the last line of the table.

Now download the tar file and unpack it. then copy the two files to the /var/www/html/admin/modules/queues directory.

On loading the queue page in freepbx you will now have the “Queue macro on answer” box

queuemacro

In this box you put the macro name you wish to run when a member answers a call.

For example:-

[macro-logit]
exten => s,1,Noop( capsule crm intergration ${crminfo} ${CALLERID(all)})
exten => s,n,Set(foo=${CURL(http://127.0.0.1/directory/capsual.php?strCallid=${crminfo})})
exten => s,n,Noop(${foo})
exten => s,n,Hangup()

This a simple dialplan that runs a php script to log calls to the capsule crm

capsual.php

<?php
$today = date(“F j, Y, g:i a”);
$duedate1 = date(“Y-m-d”);
$duedate2 = date(“H:i:s”);
$Token = ‘YOUR CAPSUAL API CODE’;
$number = $_GET[‘strCallid’];
$datetime = $today;
$duedate = “$duedate1″.”T”.”$duedate2″.”Z”;
echo $duedate;
$myxml=”<?xml version=”1.0″ encoding=”UTF-8″?>n
<task>n
<description>Call recieved from $number at $datetime. Please update and assign this task if required</description>n
<dueDateTime>$duedate</dueDateTime>n
<category>incoming call</category>n
</task>”;
// The URL to connect with (note the /api/ that’s needed and note it’s person rather than party)
// SEE: http://capsulecrm.com/help/page/api_gettingstarted/
$capsulepage = “https://youraccount.capsulecrm.com/api/task”;
echo $capsulepage;
echo $number;
// Initialise the session and return a cURL handle to pass to other cURL functions.
$ch = curl_init($capsulepage);
// set appropriate options NB these are the minimum necessary to achieve a post with a useful response
// …can and should add more in a real application such as
// timeout CURLOPT_CONNECTTIMEOUT
// and useragent CURLOPT_USERAGENT
$options = array(CURLOPT_USERPWD => “$Token:x”,
CURLOPT_HTTPHEADER => array(‘Content-Type: application/xml’),
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $myxml
);
curl_setopt_array($ch, $options);
// Do the POST and collect the response for future printing etc then close the session
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);
echo $responseInfo;
echo $response;
?>

Have fun

 

Categories
Handsets

Digium Handsets

The Only Phones Built Specifically For Asterisk

  • asteriskEasy provisioning from Asterisk or AsteriskNOW
  • Integrated with Asterisk voicemail, directory, parking, call recordings, call queues and more
  • Build custom phone apps with a simple JavaScript API

Digium’s family of IP Phones are the first on the market built specifically for use with Asterisk and Asterisk-based systems. All models include HD audio and plug-and-play deployment at a price that fits any budget. With multiple line appearances, context-aware soft keys, and advanced applications that integrate directly with Asterisk features, the Digium phones offer a better user experience than any other phone on the market.

Asterisk Phone Features

Smart Software

Access to information is the key to productivity in today’s business environment. The integrated applications that come standard with all Digium phones put critical information at your fingertips. With voicemail, call log, contacts, phone status, user presence, parking, call recording and call queue interface, the Digium phones provide simple, intuitive access to a wealth of information, saving valuable time.

 Simplified Provisioning

Standards-based IP phones have a reputation for being difficult to install and configure. Most systems require changes to network configurations or additional components to facilitate deployment. Digium phones support plug-and-play provisioning. Simply plug in the phone and it will automatically discover Asterisk systems on the network. Select the user you want to assign to the phone and the proper configuration is instantly loaded. For larger deployments you can pre-assign phones by tying a MAC address to an Asterisk user. It’s that simple.

Custom Applications

Most desktop phones come with a fixed feature-set that is determined exclusively by the manufacturer. Digium phones are different. All models include the Digium app engine, an innovative feature that makes it remarkably simple to build and deploy custom apps. All of the productivity apps that ship with a Digium Phone are written with the JavaScript API that is used by the app engine. A BETA version of the phone firmware with app development tools is available at phones.digium.com, along with documentation for developing your custom apps.

Getting Started With Digium Phones

Get AsteriskDigium phones will work with any version of Asterisk. However, we’ve added some compelling features that are only available today in Asterisk 11 or in special branches of Asterisk 1.8 (seeCertified Asterisk) and Asterisk 10 (the -digiumphones branch). To take advantage of simple provisioning, integrated applications and the app engine, you will need to use one of these versions

Call or email for sales enquiries 

Categories
Elastix Support Knowledge Base

Setting up extensions in Elastix

Elastix Asterisk IPPXThis is a short video on the setting up of extensions on the Elastix Asterisk based IPPX.

 

Categories
Knowledge Base

VoIP – Per Call Bandwidth

These protocol header assumptions are used for the calculations:

  • 40 bytes for IP (20 bytes) / User Datagram Protocol (UDP) (8 bytes) / Real-Time Transport Protocol (RTP) (12 bytes) headers.
  • Compressed Real-Time Protocol (cRTP) reduces the IP/UDP/RTP headers to 2or 4bytes (cRTP is not available over Ethernet).
  • 6 bytes for Multilink Point-to-Point Protocol (MP) or Frame Relay Forum (FRF).12 Layer 2 (L2) header.
  • 1 byte for the end-of-frame flag on MP and Frame Relay frames.
  • 18 bytes for Ethernet L2 headers, including 4 bytes of Frame Check Sequence (FCS) or Cyclic Redundancy Check (CRC).

Note: This table only contains calculations for the default voice payload

Codec Information Bandwidth Calculations
Codec & Bit Rate (Kbps) Codec Sample Size (Bytes) Codec Sample Interval (ms) Mean Opinion Score (MOS) Voice Payload Size (Bytes) Voice Payload Size (ms) Packets Per Second (PPS) Bandwidth MP or FRF.12 (Kbps) Bandwidth w/cRTP MP or FRF.12 (Kbps) Bandwidth Ethernet (Kbps)
G.711 (64 Kbps) 80 Bytes 10 ms 4.1 160 Bytes 20 ms 50 82.8 Kbps 67.6 Kbps 87.2 Kbps
G.729 (8 Kbps) 10 Bytes 10 ms 3.92 20 Bytes 20 ms 50 26.8 Kbps 11.6 Kbps 31.2 Kbps
G.723.1 (6.3 Kbps) 24 Bytes 30 ms 3.9 24 Bytes 30 ms 33.3 18.9 Kbps 8.8 Kbps 21.9 Kbps
G.723.1 (5.3 Kbps) 20 Bytes 30 ms 3.8 20 Bytes 30 ms 33.3 17.9 Kbps 7.7 Kbps 20.8 Kbps
G.726 (32 Kbps) 20 Bytes 5 ms 3.85 80 Bytes 20 ms 50 50.8 Kbps 35.6 Kbps 55.2 Kbps
G.726 (24 Kbps) 15 Bytes 5 ms 60 Bytes 20 ms 50 42.8 Kbps 27.6 Kbps 47.2 Kbps
G.728 (16 Kbps) 10 Bytes 5 ms 3.61 60 Bytes 30 ms 33.3 28.5 Kbps 18.4 Kbps 31.5 Kbps
G722_64k(64 Kbps) 80 Bytes 10 ms 4.13 160 Bytes 20 ms 50 82.8 Kbps 67.6Kbps 87.2 Kbps
ilbc_mode_20(15.2Kbps) 38 Bytes 20 ms NA 38 Bytes 20 ms 50 34.0Kbps 18.8 Kbps 38.4Kbps
ilbc_mode_30(13.33Kbps) 50 Bytes 30 ms NA 50 Bytes 30 ms 33.3 25.867 Kbps 15.73Kbps 28.8 Kbps

Explanation of Terms

Codec Bit Rate (Kbps) Based on the codec, this is the number of bits per second that need to be transmitted to deliver a voice call. (codec bit rate = codec sample size / codec sample interval).
Codec Sample Size (Bytes) Based on the codec, this is the number of bytes captured by the Digital Signal Processor (DSP) at each codec sample interval. For example, the G.729 coder operates on sample intervals of 10 ms, corresponding to 10 bytes (80 bits) per sample at a bit rate of 8 Kbps. (codec bit rate = codec sample size / codec sample interval).
Codec Sample Interval (ms) This is the sample interval at which the codec operates. For example, the G.729 coder operates on sample intervals of 10 ms, corresponding to 10 bytes (80 bits) per sample at a bit rate of 8 Kbps. (codec bit rate = codec sample size / codec sample interval).
MOS MOS is a system of grading the voice quality of telephone connections. With MOS, a wide range of listeners judge the quality of a voice sample on a scale of one (bad) to five (excellent). The scores are averaged to provide the MOS for the codec.
Voice Payload Size (Bytes) The voice payload size represents the number of bytes (or bits) that are filled into a packet. The voice payload size must be a multiple of the codec sample size. For example, G.729 packets can use 10, 20, 30, 40, 50, or 60 bytes of voice payload size.
Voice Payload Size (ms) The voice payload size can also be represented in terms of the codec samples. For example, a G.729 voice payload size of 20 ms (two 10 ms codec samples) represents a voice payload of 20 bytes [ (20 bytes * 8) / (20 ms) = 8 Kbps ]
PPS PPS represents the number of packets that need to be transmitted every second in order to deliver the codec bit rate. For example, for a G.729 call with voice payload size per packet of 20 bytes (160 bits), 50 packets need to be transmitted every second [50 pps = (8 Kbps) / (160 bits per packet) ]

 

Bandwidth Calculation Formulas

These calculations are used:

  • Total packet size = (L2 header: MP or FRF.12 or Ethernet) + (IP/UDP/RTP header) + (voice payload size)
  • PPS = (codec bit rate) / (voice payload size)
  • Bandwidth = total packet size * PPS
Categories
Blog

Yealink T20P the new entry level IP phone

Yealink T20P is the entry level phone, of the Yealink VoIP desk phone range.

The Yealink T20P provides an entry level phone for the Yealink range of VoIP phones. The T20P boasts features beyond what you may expect from the lowest specification of the range. Ideal for use for the home or as a small office phone.

The T20P telephone offers power over ethernet (PoE), two SIP accounts, two line keys and a clear 2x 16 line LCD screen. A cost effective entry level enterprise IP phone with 2 lines.

Strong provisioning is in place for the Yealink range, making the models perfect for ITSP’s or large scale deployments.

Features

T20P-large

  • 2 SIP Accounts
  • 2 Line, 2×16 LCD Display
  • 2 Programmable Keys
  • 5 Hard Function Keys
  • Power over Ethernet (PoE)
  • 3 Way Conference Calls
  • Speakerphone
  • Call Hold, Waiting and Transfer.
  • Wall mountable
  • Compatible with a range of corded headsets:

 

RRP £69.99 +vat , (Contact us for volume and Special pricing)

Categories
Gateways

Redfone FoneBRIDGE

The foneBRIDGE is a T1/E1 PRI-to-Ethernet Bridge. It is an integrated black box appliance designed to streamline installation and enable redundant design of open source telephony based VoIP systems such as Asterisk®, Elastix, Trixbox, FreeSwitch and others.

Features

Failover and HA Enabled
• Flexible Configuration
• Highly reliable design
• Simple Install
• Form factor independent
• Single, Dual, Quad and Octal Port models

Applications

• T1/E1 PRI Trunk termination
• Legacy PBX-to-Asterisk integration
• Simple, single server installs
• Complex, HA Asterisk clusters
• Channel Bank connectivity
• Mixed telephony environments (T1 and E1)
• Blade Servers where PCI slots are not available

Download Datasheet here

Price excluding VAT:

  • Non ec Single e1 £430
  • Non ec Dual e1 £850
  • Non ec Quad e1 £1200
  • ec Single e1 £640
  • ec Dual e1 £1200
  • ec Quad e1 £1700
*ec = Hardware echo cancelation
Categories
Gateways

Digium G100/G200

Built on a powerful combination of the Asterisk Open Source communications engine and a state-of- the-art embedded platform, Digium VoIP Gateways provide the best value for Asterisk connectivity.

The gateway software is based on the Asterisk communications engine and is managed through Digium’s intuitive point-and-click GUI interface, which allows for easy navigation and effortless setup. VoIP gateways feature a power-saving embedded design with a highly efficient digital signal processor (DSP) handling all media-related operations.

The Digium G100 VoIP Gateway includes a single software-selectable T1/E1/PRI interface and supports up to 30 concurrent calls. It is built to support TDM-to-SIP, SIP-to-TDM and SIP-to-SIP (transcoding) applications. In a TDM-to-SIP deployment the VoIP gateway significantly reduces operating costs by connecting a legacy business phone system with dynamic SIP trunking services. SIP-to-TDM deployments use the VoIP gateway to connect a modern SIP communications system with T1/E1/PRI service from legacy carriers.

Applications

Digium VoIP Gateways are flexible solutions that fit a variety of communications applications. The applications listed below represent some of the most widely used, today. The flexible configurtation options and standards-based connectivity mean Digium’s gateway appliances can support a wide range of custom applications.

Public Switched Telephone Network T1/E1/PRI to VoIP:

VoIP Provider to Legacy PBX:

Specifications

Interfaces / Connections

  • 1/2 T1/E1/PRI w/ RJ-45
  • 1 10/100/1000 Ethernet

Benefits

  • Hardened
  • Cost effective
  • Low power consumption

Features

  • Intelligent call routing
  • Easy-to-navigate GUI
  • Fax and modem support
  • Solid state (no moving parts)
  • Remote configuration and software updates
  • Octasic™ DSP processor
  • Up to 60 concurrent calls

Price excluding VAT : G100 £820.00 G200 £1370.00

Categories
Case Studies

Restaurant Booking Solution.

We have been working with a client on a Hosted restaurant booking solution, providing the CTI and call tracking systems. This was complicated by the simple fact that the booking system was a closed system by another supplier.

The system works by the restaurant diverting their line to a DDI number we provide that sends the call to the system with the destination matching a defined number for that restaurant when the call enters the system the relevant settings are looked up in a database and audio message file, IVR options and CallerID name are set and the call is passed to the IVR. The caller then chooses their preferred option, The call can be depending of the time of day be passed to the call centre for a booking to be taken on the restaurants behalf or the call is passed to the restaurant where in many a Hosted Gigaset Dect handset is provided for them to take the booking or call the call centre for free.

The system has changed and evolved over time and by using Asterisk has meant that we can accommodate most requests for changes, Most recently we updated the statistics package to Asternic Pro

Asternic stats
Pro stats

Statistics. This has allowed much more detailed reports to be created for queues and agents.

The calls are delivered to the platform over a EFM circuit from Gradwell.net providing quality and reliability combined with increased capacity over the original ISDN30 circuit.

For disaster recovery we provide a backup system in a data-centre that is kept in sync with the office system so in the case of power outage or system failure calls can be diverted to this system and calls take on mobile phones. Switching to back-up system is completed by the single click of a button on a web-page that instigates the diversion of the lines and starts the backup system automatically.

Currently we are migrating the database services off to a separate VMware server with 3 VMs, one for each of the core web or mysql servers. This will allow the service to scale as there are now over 1 million records per datatbase and it is showing no sign of slowing.