Categories
Asterisk Support Elastix Support Knowledge Base Technical

IAX2 Peers going unreachable.

In the past we have found that IAX@ peers have been reliable and solid.

But lately with the advent of bonded ADSL lines and other forms of aggregated lines we have seen issues where the IAX2 trunk will go down and a simple reload of Asterisk or even a restart doesn’t fix it.

Taken from Voip-info

A report of the problem by another user :

This is something I’ve run into myself and my VOIP IAX2 provider has this issue with many clients running Asterisk on TrixBox or other custom made systems behing a NAT (Linux) router.

If our PPPoE goes down, we have to reboot our Asterisk server to get our IAX2 trunk to re-register otherwise, it will try and just keep timing out. I have the 4569 forwarded internal (Pierre Belanger adds: in many cases, the 4569 port forwarding useless unless your Asterisk server provides service to IAX2 phones from the Internet, i.e. not on your local LAN).

I have a dirty script that avoids having to reboot the TrixBox and restore our service within 2 minutes of a blip automatically, and logs the ‘blips’ so i can see how ‘reliable’ our service is.

We have take the original script posted and made some changes, Notably it checks a defined peer name as we have seen that the problem doesn’t always affect all peers on a system.

======Code follows ======

#!/bin/sh
#We record the status of the IAX2 Trunk
cd /root/ # I have script live in root,
# Set the peer name to monitor here
# ******
peername="YOURIAX2PEERNAME"
# ******
date >> slap.log
echo "Testing $peername peer" >> slap.log
/usr/sbin/asterisk -rx 'iax2 show peers' |grep -i $peername >> slap.log
/usr/sbin/asterisk -rx 'iax2 show peers' |grep -i $peername > reg_status
sleep 1
#We then Scan the Status and see if we're online or not...
TEST="OK"
if grep $TEST reg_status > /dev/null
then
echo "All OK Here" >> slap.log
exit #Abort, we are online, all is well...
fi
#IF we're this far down, we've lost IAX. Log the incident.
echo "we have a problem with $peername, Restarting it" >> slap.log
#Restart the IAX2 trunk. Delay required for some reason.
/usr/sbin/asterisk -rx 'module unload chan_iax2.so' >> slap.log
sleep 90;
/usr/sbin/asterisk -rx 'module load chan_iax2.so' > /dev/null
echo "Restarted it Now lets check status" >> slap.log
sleep 5;
/usr/sbin/asterisk -rx 'iax2 show peers' |grep -i $peername >> slap.log
#We record the status of the IAX2 Trunk
/usr/sbin/asterisk -rx 'iax2 show peers' |grep -i $peername > reg_status
sleep 1
#We then Scan the Status and see if we're online or not...
TEST="OK"
if grep $TEST reg_status > /dev/null
then
echo "All OK Here" >> slap.log
exit #Abort, we are online, all is well...
fi
#IF we're this far down, we've lost IAX. Log the incident.
echo "we have a problem with $peername, Restarting it" >> slap.log
#Restart the IAX2 trunk. Delay required for some reason.
/usr/sbin/asterisk -rx 'module unload chan_iax2.so' >> slap.log
sleep 120;
/usr/sbin/asterisk -rx 'module load chan_iax2.so' > /dev/null
echo "Restarted it Now lets check status" >> slap.log
sleep 5;
/usr/sbin/asterisk -rx 'iax2 show peers' |grep -i $peername >> slap.log
#We record the status of the IAX2 Trunk

======Code ends======

This seems to do the trick and its cronned to run every night or hour in some cases.

UPDATE

on testing and speaking to suppliers. We would advise adding the following settings to your IAX2 peers

 

qualifysmoothing=yes
qualifyfreqnotok=30000
qualifyfreqok=120000
qualify=yes

With this added we have not seen any unexpected unreachables.

 

Categories
Handsets Products

RTX8630 IP DECT Multicell solution

The RTX8630 is complete cordless telephony solution offering a great scalability. The system is expandable and can grow with the business; from 1 to 40 bases and up to 200 users. The RXT8630 offers seamless call handover and repeater support. There is a choice of two different RTX DECT handsets, both with a high quality colour screen and wideband audio.

System features

  • Up to 200 users (200 handsets registered)
  • Scalable from 1 to 40 bases, with seamless handover
  • Allows up to 10 x simultaneous calls per base station (Expandable up to 400 calls per system)
  • Power over Ethernet (PoE): IEEE 802.3af Class 2
  • Range: upto 50m indoor and 300m outdoor per base
  • Repeaters supported
  • Bases are wall mountable using optional mounting kit (RTX8630Mount)
  • Choice of two handsets: RTX8430 and RTX8630
RTX8630 IP DECT Multicell solution
RTX8630 IP DECT Multicell solution
  • RTX8430 Entry level handset
    • 1.44″ TFT display
    • Local phone book with 50 entries (1 number/name)
    • Headset connector (3.5mm)
    • Battery life: Up to 8 hours talk time and up to 75 hours standby
  • RTX8630
    • 2″ TFT display
    • Local phone book with 100 entries (200 central entries)
    • Vibrate mode
    • Headset connector (3.5mm)
    • Battery life: Up to 18 hours talk time and up to 200 hours standby

Pricing:

RTX8630 Base RRP: £189.00+VAT

RTX8430 Handset RRP: £99.00+VAT

RTX8630 Handset RRP: £140.00+VAT

Call for availability and project pricing

Categories
Elastix Support Knowledge Base

Elastix Custom Extensions.

This Short Video shows you how to setup custom extensions in Elastix and FreePBX

These can be used for calling mobiles or other external numbers that you want users to be able to dial as if they were extensions.

 

 

 

Categories
Cards

Digium Cards

digium_cards

Not only was Digium the first vendor of telephony interface cards built specifically for Asterisk, but it has always been the market leader, with over 50% of the world’s board business.

Analogue Cards

Digium analogue telephony cards are high-performance, highly reliable and cost-effective interfaces for POTS lines to your Asterisk solution. Multiple applications can be created to satisfy the business needs of any organization when using Digium analogue cards in concert with Asterisk software, the Linux® operating system and standard PC/server platforms.

Digital Cards

Digium’s super-reliable digital line cards connect Asterisk-based communication systems to T1, E1, J1 and ISDN-BRI interfaces.

Hybrid Cards

The Digium Hx8 Series are high-performance, cost-effective hybrid analogue and BRI telephony interface cards providing the capability to seamlessly integrate mixed-mode environments in a single device. Use the telephony card selector to identify the card that fits your requirements.

  • RoHS compliant
  • Manufactured in an ISO 9001:2001 certified facility in the United States
  • Maintain an MTBF greater than one (1) million hours
  • 5-year hardware warranty

 

For configuration and pricing please email or call us. We always want to speak to customers buying cards to make sure that it will be compatible with their server hardware.

Categories
Elastix Support Knowledge Base

Setting up timed call flow in Elastix

Screenshot from 2013-06-19 14:50:45If you want to set up timed call flow in Elastix but still have the ability to override for holidays and when the office is open late you have a few extra steps to add.

We will assume  you have your queues and extensions setup for this video. If you havent set your extensions up see our other video on setting up extensions.

 

 

We have used 2 day/night modes, One at before the call enters the time condition, This means that you can override day service for holidays etc and another at the end that means the call can be forced to go to a night queue instead of voicemail.

I hope you found this useful and keep coming back for more.

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
Blog

A new patent troll.

SIP Trunking

In the last few weeks a large sleeping troll has come out of hibernation and seems set on disrupting the whole voip market.

Quote

“BT is engaged in licensing an extensive range of standards related patents that address the key features of SIP Trunking providers and VOIP operators providers.

BT’s Patents address a wide range of fundamental capabilities now in widespread deployment, such as:

  • Setting up a call
  • Breaking out to other networks
  • Managing resources efficiently
  • Registering terminal to a network
  • Cost effective call completion
  • Monitoring and alerting of IP call quality”

Well that pretty much covers all of the workings of a SIP network. A full list of the patents is here  .

But its not Just BT, AT&T also have claims over SIP as well see here for a list.

It seems that some of the major patent holders see more money in the licencing of the now ubiquitous SIP protocol than maybe supplying it to customer. Which is a shame as the only ones who will make any money will be the Lawyers in the end.

More to follow on this I’m sure….

Categories
IPPBXs Products Services

Multi User Hosted PBX

Use the Internet to make calls – it’s simple, cost effective, and perfect for small businesses and call centres.

Voice over Internet telephony reduces telephony bills; connects mobile, remote and office workers; and gives a consolidated impression of your business – same number no matter where employees are located.

From 2 to 10 people wanting to stay in touch, Our feature-rich packages can offer a local or International number from which to operate – or you can bring your old number with you (number porting). There are also a wide range of add-ons that offer inclusive minutes. We can go through setting it up for you or you can do it yourself. To signup follow this link or call us on 01225580025

  • Multi User VoIP £8.00 per month
  • 4000 UK landline minutes £ 20.00 per month Lower amounts available
  • 4000 UK & International landline minutes £25.00 per month
  • 500 UK mobile minutes £30.00 per month

*Prices exclude VAT.

Key features

An online customer control panel allows you to manage your own account, and you can expand the system when ever you need to. All you need to get started is broadband, a router, and an adapter or a VoIP phone.

  • Make immediate savings: Free internal calls. Competitively priced calls and inclusive landline and mobile minutes package add-ons.
  • Quick and easy to set up: No difficult installations.
  • Excellent call quality: With no compromising on functionality.
  • Never be out of touch: Call forwarding available.
  • Keep your old number: Seamless transition with ‘number porting’.
  • Global presence: International numbers available.
  • Stay in control: Online customer administration, call logs and invoicing.
  • Voicemail and voicemail notification
  • Call forwarding to any number including mobiles
  • Online contacts directory, call logs and invoicing
  • Customised CLI (caller line identity)
  • Time of day routing

 

Features

  • Set up £4.99
  • Monthly £8.00
  • Included phone number UK and International*
  • Concurrent calls per number 2
  • Internal extensions 10
  • Call packages FREE VoIP-to-VoIP
  • 999 Emergency Services access YES
  • Minimum contract length 12 months
  • Voicemail YES
  • Voicemail notification SMS or Email
  • Call forwarding YES
  • Codecs supported G729a, G711u, G711a
  • Online call logs and invoicing YES
  • Online contact directory YES
  • Customised CLI (caller line ID) YES
  • Time of day routing YES
  • Audio call conferencing YES
  • IVR/Auto-attendant YES
  • Music on hold YES
  • Hunt call groups YES
  • 4000 UK landline minutes add-on £20.00 per month
  • 4000 UK & Int. min. add-on £25.00 per month
  • 500 UK Mobile minutes add-on £30.00 per month
  • Additional Number^^ £3.00 per month
  • Personal Number** £10 setup, £10 per month

* Surcharges apply for International numbering.

^ Subject to fair use check at 4000 minutes per month.

^^ Can only point at a Gradwell VoIP number on the same account, they can act as a mainline phone number however they must take an existing route. Please note that they cannot be used to increase concurrent calls.

** Can only point directly at an extension number. You cannot direct these numbers towards hunt groups, call queues or any other type of functionality. Does not provide an additional line.

All phone services (inc Unlimited packages) are subject to Terms and Conditions and standard call charges. All prices exclude VAT. Range of hardware and accessories available.

 

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