Setting up an Inbound Number with FreePBX can be tricky. There are a few different things to consider and in the past I’ve written some posts for setting up specific call providers. This post will try to describe what the different options mean, and will hopefully help you set up a DDI number with any provider.
The first thing you need to know is that all SysAdminMan templates have “Allow Anonymous Inbound SIP Calls” set to No. This means that an unknown SIP server can not pass a call to your system to be processed. This is to help prevent hackers route calls through your system. It’s strongly recommended that you leave Anonymous SIP calls set to No, unless you really know what the implications are when setting it to Yes.
So, if we don’t let any SIP servers pass calls to us then we need a way to tell FreePBX to allow calls from our DDI provider. We do this by setting up a SIP trunk.
Setting up a SIP trunk
We are going to put all of the settings under “Outgoing settings”, and leave “Incoming settings” blank. This is a little confusing to say the least! but we are not creating a user on our system for the call provider to connect to, we are just allowing their IP. So we add a new SIP trunk and see these details –
Setting up an Inbound (DID/DDI) number in FreePBX can be tricky. We have to do 2 things to get it to work. First we need to tell FreePBX/Asterisk that the incoming call is allowed, the second is to say what to do with that incoming call.
Lets look at allowing the call first. One of the easiest ways to do this is allow Anonymous SIP Calls in FreePBX. I recommend you do not do this though as you don’t really want Asterisk/FreePBX trying to process any call fired at it.
So if we’re not going to allow anonymous SIP calls we need to tell Asterisk what IPs to allow calls from, and we do this by setting up a trunk. When a call comes to our server we will receive a SIP INVITE from the remote server, asking us to accept the call, so let’s have a look at the SIP INVITE messages coming in …
First we’ll install ‘tcpdump’ if it’s not already on the system. In CentOS we do –
yum -y install tcpdump
Next we run the following command to list all the INVITE messages coming in. You will need to change the network adapter name if you’re not on a VPS, probably from venet0 to eth0 –
A great way to test inbound calling with FreePBX/Asterisk is to get a free UK DDI/DID number from ukddi.com and point it at your FreePBX server. You can currently get up to 10 free numbers, based anywhere in the UK.
Assigning an inbound number to a customer is fairly easy to achieve in A2Billing. Once assigned the customer can use the web interface to change the destination of that inbound number.
First you are going to need an inbound number from a DID/DDI provider. I’m going to use DIDX.net in this example.
We need to set the SIP URI destination for the inbound number with our DDI provider. In the DIDX control panel I’ve set the destination of a London DDI (country code 44 / city code 20) to my demo server –
Using a callwithus DID with FreePBX/Asterisk is very straight forward.
First you need to purchase the DID through your callwithus account. I am buying a number located in the UK.
Once you have purchased the DID you can click on the DID menu option again to check where the DID is being forwarded to. To make things easier on the FreePBX side we want to change this from the default.
Now we’ve got a trunk setup and a rate card and call plan we need a way for our potential customers to actually connect to our system! One way for them to do this is via an access phone number. To test this I’m going to use the IPKall DID we setup here in FreePBX.
One of the great things about voip is that you can make international calls at local rates. Combine that with Asterisk/FreePBX and you’ve got the ability to make cheap international phone calls using your mobile phone.
To do this we’re going to setup DISA (Direct Inward System Access). This will enable us to ring our Asterisk server, get a dial tone and then dial back out again.
Then I will show you how you can combine this with callbacks if that works out cheaper for you.
Installing the modules
First we need to install the DISA (if it’s not installed already) and Callback modules. See part 5 for more information about installing FreePBX modules.
Setting up an IVR (or auto attendant, digital receptionist) is great idea for small businesses. You can have a single external number for your customers to call but then direct the call to the right department via a simple menu.
First we need some extensions to put the calls through to, then we need to record the menu the caller will hear and finally setup the actual IVR.
Configuring the extensions
Follow the instructions in part 2 to create the extensions that you need. I have created extensions for Sales, Support and Billing
Now we can make calls to regular telephone number via our trunk we want to setup a DID (Direct Inward Dial) number so that we can receive calls from people dialing a regular phone number.
For this example I’m going to use a US number from IPKall who will provide a (free) US based telephone number. However, they are only able to do this due to a peculiarity in the law in certain states so I wouldn’t rely on the numbers being available in the future. Perfect for testing though!
I’ve used Dell laptops for a while and when I was looking for a new one about a month ago I was interested in a Dell Vostro as I’d read good things. One of the good things I’d read was that you could order it without all the crapware that comes installed on most machines these days.
So I brought a Vostro 1400 and was pretty pleased with it. One of the first things I did was *wipe all the partitions* on the drive and set it up to dual boot between Windows Vista and Ubuntu – with a nice big partition to store my data. This could then be accessed from both Vista and Ubuntu – ideal.