So Your Office wants to Use VoIP, eh?

The Telephones, They are a Changin’

Back in the 70s and earlier, offices were served by a system with the telephone company providing all the connections, and forcing the use of their equipment. In the office where I worked, it meant 4 separate lines, and every phone had four lighted buttons. If a button was lit, that line was in use. If you pressed a button for a lit line, you joined the call. If you put a line on hold, the button would blink.

In the 80s, more and more companies installed their own private telephone switching systems, or PBXes. This allowed the customer to rent a fixed number of lines that came into their own equipment, and their equipment would divide up the lines, manage directing calls, sharing calls, and optionally policing what kind of outgoing calls could be made.

Plain Old Telephone Service

All of these implementations were referred to as “Plain Old Telephone Service” or “POTS”. In fact, even today, what are referred to as landline telephones, are often implemented as POTS at the customer’s site, even though some high tech network method brings it to the home (for instance, fibre optic cables). FAX machines are a good example of devices that almost always use POTS. In fact, where digital phone networks are in place, a device called an “Analog Telephone Attachment” or “ATA” can be installed to connect to a POTS device.

The Rise of VoIP

In the 21st century, a new technology called “Voice over IP” or “VoIP” came onto the scene. The idea wasn’t new, it’s simply digitizing audio and putting it over data networks. In fact, the telephone companies have been doing this, at least conceptually, in various ways at least since the 50s, including using “frequency division multiplexing” or “FDM”. With the rise of the “Internet Protocol” or “IP” in the 70s and 80s, and the rapid expansion of such IP network capacity in the 90s, the Internet now has the capacity to reliably carry many individual telephone calls… hence the popularity of VoIP.

Use of VoIP

Generally, VoIP is just like POTS. It differs in the way that the sound gets transferred between the end points. In IoTS, the sound is converted to digital messages that are put out over an IP network, often (but not necessarily) the main Internet itself.

Enter VoIP

VoIP comes in several different flavours, each providing a mix of features and capabilities. Sometimes, VoIP is implemented directly from one computer to another, but more often, some kind of exchange is used. This allows a VoIP user to contact any one of the other users on that same exchange.

More often, users of VoIP phones want to connect to regular telephones. For that, a gateway is required. Sometimes even the telephone company will provide such an gateway. Others are available, often for astoundingly lower cost, such as the one I use, VoIP.ms.

Relaying a Call to a “Regular” Telephone

It is possible to have a VoIP system transfer or relay the call back to the POTS system and ring an actual phone number (mobile or landline). Note that when a VoIP system relays a call, you will pay for both the incoming call and the outgoing (relay) call – each one might be pennies per minute, but if it happens often and lasts long, it can add up.

VoIP Reliability

VoIP can only be as reliable as the data network it communicates over. If that data network goes down, there is no VoIP. If the connection is critical, for instance, for emergency calls, then each and every link in the network chain must be backed up for loss of power and potential disconnection (for instance, broken wires or underground lines dug up).

POTS Replacement

Traditional telephone companies have spent over a century improving their reliability, for instance putting battery backup in all telephone exchanges so the POTS system can work for days with the power out, and providing redundancy on links between exchanges. Our residential Internet service is generally not battery backed up, and therefore often is lost during a power outage.

Mobile VoIP

You can use VoIP to a mobile phone, using its data service. Here again, the VoIP is only as reliable as the data service. If the mobile phone is turned off, out of the service area, or in a “mobile service dead spot”, then there will be no VoIP service.

Note that sometimes data service will fail before actual mobile phone calling – so it may be possible to dial out using the phone (3G/4G/5G/CMDA etc) even though VoIP does not work.

Similarly, it may be possible to have the VoIP system transfer or relay the incoming call to your regular mobile phone number if VoIP is not functional.

Consult with Professionals

For these reasons, be careful in the implementation of VoIP where emergency calls are likely to be made, for instance with the elderly or those often requiring advanced care. Consult with professionals who specialize in telephone service. These days, the telephone company will often offer VoIP services, and they will understand this issue well.

Cost

For those who are used to the cost of a telephone company landline, the low cost of VoIP.ms can be astounding. For as low as 3 dollars (US) a month, you can move your landline number to VoIP.ms. One downside is that generally you have to pay for every minute of outgoing and incoming calls, but that cost is generally in the 1 to 2 cents a minute. It’s difficult to run the bill up past 5 or 10 dollars a month!

Interesting Possibilities

Some VoIP systems will allow many phones to ring at the same time, even very far apart, in an effort to get someone to answer a given call. The rules for which phones ring, and when, can be complex. For instance, this can be used in an office setting, where maybe some incoming calls, like from known clients in a database, will ring all customer service advisors at one time. If nobody picks up by the end of the second ring, subsequent rings can be made to every phone in the office.

Multiple Locations

Even more interesting, phones in another location can ring. For instance, if a company has multiple offices, all phones for all service advisors can ring… or ring twice in the local office, then the rest of the rings worldwide. Calls can be routed to different places at different times of the day or night. The possibilities are endless, depending only on the exchange software used.

Finding You Whereever You Are

If you have a desk telephone with an assigned external number (referred to as “Direct Inward Dial” or “DID”), then with some VoIP systems, you can have your desk telephone, your computer, and your cell phone all ring at the same time, allowing you maximum flexibility. If you are away from your office, in an airport or coffee shop, you can take the call.

VoIP End Points / Telephones / Clients

What would be called a telephone handset in POTS, can actually be many things in VoIP:
– An actual telephone device or something that looks just like a telephone, in which case you might call it a VoIP telephone or VoIP handset.
– An answering machine, automated attendant, or artificial intelligence receptionist, in which case you might call it an end point.
– A program on a computer or mobile phone, in which case you might just call it an application or simply a client (as in client on the VoIP system). This is often called a “softphone” program.

In any case, each has slightly different character and options. I will use the most generic term “end point”.

Our company uses Dialpad, which is both a company providing an exchange and connection to POTS phones, and provides a softphone that appears to work well across VoIP handsets, computer and mobile phones.

VoIP Desk or Wall Mount Telephones

This type of an end point looks like a traditional telephone, but instead of a traditional telephone jack, it will have a network connection. Inside, it can be far more complex than a traditional telephone. I have used the Grandstream GXP1620, and can recommend it. These phones can be used very much like a traditional telephone, with all the features you would expect, and more.

In the office setting, there are extremely fancy VoIP desk phones. These actually look like small computers, and can be confusing to use. Just because a company can put fancy features into a phone, doesn’t mean that they should!

Real Traditional Desk or Wall Mount Telephones

A real traditional telephone can be used with VoIP, using an analog adapter. This adapter has a network connection on one side, and one or more POTS telephone jacks on the other. I have used the Grandstream HandyTone 286 and Grandstream HandyTone 486, both of which work very well.

The POTS jack on the analog adapter could theoretically be connected where the traditional telephone company’s wires come into a residence, thereby allowing the use of all the original telephone jacks around the house. This works well, as long as the number of telephone sets connected do not exceed the ability of the analog adapter to drive them with enough power. Be careful and test the setup – it can take too much power to ring old “analog” POTS phones.

Be sure to disconnect the telephone company connection before connecting the analog adapter to your in-house wiring. If you fail to do so, you may cause the telephone company trouble, and they will charge you money to fix it.

The Computer as a Phone

There are many softphone programs that you can run on your computer. Generally, this would require the use of a headset attached the computer (using speaker and microphone is generally bad office etiquette). A good quality headset is recommended, I have found the Mpow 071 USB Headset to be inexpensive (less than 30 dollars US) and good sounding, although be careful with it – it can be a bit fragile.

Softphone Programs on Computer

In an office environment, use the softphone recommended by the company.

In a personal environment, look into these, in no particular order:
Zoiper – I found Zoiper cumbersome to use, although many love it.
Linphone – Linphone is rudimentary and lacks features, but worked well for me on MS-Windows and Linux.
3CX – 3CX did not work well for me on Linux.
MicroSIP

As always, your mileage may vary. There are lots of lists of programs online.

VoIP on the Mobile Phone

There are lots of softphone apps for your mobile phone. Be wary of the app lists online – many include not-really-VoIP programs like Skype and WhatsApp, and mediocre or scam-filled apps as well.

Check Your Android Device, May Have Softphone Built In!

Earlier versions of Android had softphone capability built right in. This has the advantage of allowing the choice of using VoIP to dial out by default, or asking on every call. It also provides full integration with the phone’s address book, although other applications can sometimes do this as well.

Start the dialling program, touch the three dots in the upper right to drop the menu, select “Settings” and then “Calling Accounts”. If the option “Add Calling Account” exists, use that to add your VoIP system.

Softphone Programs on Android

In an office environment, it is generally bset use the softphone recommended by the company – unless you consider yourself an expert!

In a personal environment, look into these on the official app store for your device, again in no particular order:
– Zoiper IAX
– OpenPhone
– GroundWire
– Bria

In this case, I have no recommendation. It turns out that I used some of these programs long ago, but each one had some shortcoming that I could not fix. They may well be better now!

Again, your mileage may vary, and there are lots of lists of apps online.

Sound and Call Quality on Mobile Devices

Like most modern mobile phones and digital TVs, the call quality on VoIP is quite good. It can vary depending on the technology used in converting the voice to and from digital, but it should be at least as good as a POTS phone. However, like modern mobile phones and digital TVs, as they get poorer and poorer signal, sound will get weirdly garbled, choppy and distorted. This may happen even when you do not expect it, since the mobile data signal can vary rapidly from area to area, or even block to block.

You would not notice your Spotify or other streamed audio have trouble, because they are not operating in real-time. For instance, Youtube will often save up to a minute ahead on your device, so it can keep playing without interruption if data is completely lost. They are assuming that the data connection will be re-established within 30 seconds or so, then just start storing more, and you will never hear the difference.

However, for telephone conversations, we expect the sound to be available instantly, or at least within a very small fraction of a second. A few tenths of a second of delay can make it impossible to carry on a conversation. Telephone call audio is considered real-time. If the data gets delayed by a tenth of a second, it is just thrown away, because it hasn’t arrived in time to be useful.

This becomes important when we have a weak or intermittent data connection. The real-time requirement of the voice data means that lost data can’t be easily replaced, so depending on how the softphone deals with the missing or late data, the result can sound awful. Do not avoid VoIP for this reason, just know that when it happens, the mobile device is not broken, it’s probably the poor data connection.

VoIP Data Usage on Mobile Devices

Since the voice sounds on VoIP are converted to data and sent over the Internet, use of VoIP can eat into your monthly data allocation. If your mobile device is using local WiFi, then the VoIP data goes out on that, and doesn’t go on your data plan. However, in the absence of WiFi, then your data plan will be used by VoIP. The amount of data consumed by VoIP per hour depends on different factors, including the CODEC that the phone uses. A CODEC is the method that the sound is CODed into data and DECoded back to sound. There are many CODECs in use, some of which are faster, some of which use less power, some of which give better sound… but generally we just use whatever the default is for the softphone we choose. A brief review of available literature indicates that, in the worst case, a constant phone call over VoIP might use 30 to 400 megabytes per hour. In fact, you will probably find it to be a lot less, this is absolute worst case. For most people, unless they talk using mobile data for hours and hours a day, there will be no issue… but it’s not zero.

Battery Life for VoIP on Mobile Devices

In order to be able to receive calls at any time, the VoIP Softphone will generally contact the main VoIP server constantly. This eats some extra data on the data plan (although not that much, maybe a megabyte a day), but the bigger issue is its power consumption.

The computer chips at the heart of mobile devices spend most of their time in deep sleep, consuming as little power as possible. Those chips only transition to active mode when there is work to be done, like when the phone provider tells it to ring and advise you of an outside call, or when periodic check says there is a text message, or when the user is shaking, touching, or interacting with the phone in some way. Of course, there are degrees of operation, so the power consumption can vary depending on whether WiFi or Bluetooth is running, how bright the screen might be, and other factors.

When a program such as a VoIP Softphone is constantly running and checking for incoming calls, the chips don’t get to go to sleep… sometimes they never get to reduce power, consuming power at a significant rate, causing the battery to run down quickly.

Push Notifications

Most devices are on charge most of the time, and mobile batteries should be kept as close to full as possible to prolong their life, but it is important to know that the battery won’t last long when off of the charger, unless you can configure the softphone to use push notifications.

A push notification is a message that comes down, unannounced, from the server, waking up the softphone program and advising it that there is a call or message. If the server and softphone that you use can do this, then the phone can go back to spending most of its time in deep sleep, regaining your battery life. Push notifications are used by other programs like WhatsApp and Messenger for this reason.

Not all servers can do push notifications, but most of the big commercial servers can. Not all softphones can do push notifications, ask or check to see if they will.

Information You need to Set Up Your VoIP Phone or Softphone

There are three key pieces of information that are required to set up a VoIP phone. Extra features, high security, complicated networks (for instance, behind firewall or router) can complicate this, but in general, here’s what you need:
– Internet name of the VoIP server, sometimes called Point of Presence or SIP Server – sometimes there is also a “secondary server” which is used when the first one is unreachable
– The user ID of the account, generally assigned by your system administrator and generally cannot be changed.
– The password to gain access to the account.

With these three settings, a client should be able to make and take calls.

Text Messaging on VoIP

Text messaging (SMS or MMS) is possible on VoIP, depending on the capability of the client and the VoIP exchange/gateway used. For instance, on the VoIP.ms system, those numbers that are designated as “SMS capable” can send and receive short (SMS) messages, and in certain circumstances, extra-long messages and media (MMS) as well. Consult your provider.

VoIP.ms SMS and Call Forwarding

So, here is how to set up VoIP.ms for SMS texting and call forwarding.

Important Term “DID”

The first thing to know is a specific term.  DID, or “direct inward dial”, is your telephone number that can be called.  In other contexts, it can mean the phone that will be connected to, when someone dials that number.  In our context, it will just be the number.

Why the distinction?  Outbound calls use a different system.  Simple as that.  Leave that for another time.

Follow the Money?

Bear in mind that, although the base cost for each DID is ridiculously low, nothing is free.  SMS texts cost something like ¾ cent each, inbound and outbound calls cost by the minute (something around 1 cent per minute).  I find this acceptable, because there’s no way that I could ever even come close to the cost of my old phone bill!

Accounting

OK, first thing is to create your account and fund it.  All amounts are in USD.  I would suggest using PayPal to fund it, and I’d suggest putting in US20 or US30 to start.  You can set an “alarm” on your account to send an E-mail when your balance falls below a certain amount.

Once you’ve got your account and it is funded, then for the task at hand, here are the main management menu items you will use.

Set Up Call Forwarding Target

First, set up a call forwarding target.  Select “Call Forwarding” and create an entry pointing to where you want calls to be potentially redirected to.  You can create more than one – you can select which one is the actual target, for each DID.

Here’s a sample entry screen.  You don’t have to touch anything else except to put the 10 digit phone number of the target to forward calls to.

Ordering Arbitrary DID(s)

If you don’t have any DID(s) yet, you will have to go to “Order DID” first, and create them.  The word “order” is a bit of a misnomer, because it’s all automatic and practically immediate.  You can create as many as you want, and it’s quick.  You can pick a telephone number in pretty well any area code in North America, and some numbers overseas.  Be conscious of their cost, they don’t all cost the same in monthly cost or in inbound & outbound per-minute charges.

Porting Your Number In

You can also “port” your existing number from a cell phone or landline phone carrier to VoIP.ms.  It’s a bit of a process – not that hard, you just have to read the procedure and go through the steps.  The telcos are anal about making sure you follow the steps – they are trying to prevent port-out fraud, which has happened in the past, with disastrous consequences – think “SIM hijacking”, not nice.  

Anyway, it is standard practice these days to set a port PIN on any mobile DID.  This is wise to do.  Be sure to keep it private.  If set, then without this PIN, port requests are ignored.  Of course, keep track of that port PIN, or else you won’t be able to perform a port either 😊   Keep these things in your password manager (use LastPass – don’t pass “go”, don’t do anything else – just do it).

When you port your cell phone number, be sure to indicate that it’s a mobile/cell phone.

Managing the DID Settings

Anyway, once you have any kind of DID in your account , go to “Manage DID(s)”:

On the left, under “Actions”, you will see three coloured icons – an orange pencil & paper (edit this DID settings), a blue paper with lines on it (read-only view this DID settings), and optionally a green cell phone, which indicates that this DID supports SMS & MMS.  

Click the orange pencil & paper icon, which should bring you to this screen:

Select “call forwarding”, and if necessary, drop the selection box and choose where to route the call.

Scroll down and choose the DID point of presence:

This simply is the Internet server location that you will connect to, when you come around to using a VoIP phone.  I would select one close to your primary use location.  You can change it later, but for your VoIP phone to work (inbound and outbound), your VoIP phone must point to the same server name.

Continue to scroll and you will see the SMS settings.  Above that are a few key settings related to the cost of calls, review each one.  

For SMS, you have to “enable SMS/MMS” and, if you want to SMS/MMS forward, to select this option and put the 10 digit target telephone number in here as well. 

The “SMS/MMS URL Callback” option is for use with the VoIP.ms Android SMS application, see below.  You can leave it unchecked, but the value should be “https://us-central1-voip-ms-sms-9ee2b.cloudfunctions.net/notify?did={TO}“, per below.

Save the changes, and it should work!

Installation of Android App to Support Near-Native Texting

There are a few limitations, but it works very well for me.  It’s how I keep in touch with my friends in Phoenix (and formerly of Phoenix 😊).  I ported my US cell phone number to VoIP.ms and use this app to text with them.

Here is the Android application:

Now, the difficult part – setting it up.  The app is open source, and its help page looks like this:

You have to enter that string into the DID\’s “callback” entry (see above),  then enable the API connection back on VoIP.ms, see below

Enabling the API Connection

From the VoIP.ms main page, select “Main Menu”, then “SOAP and REST/JSON API”:

Put in an API password (this will be what you give to the Android app, above), enable the API, and ensure that the “Enable IP Address” is set to 0.0.0.0.  You can restrict the IP address here, if it is well defined and won’t change.