Intro to VOIP
- Last Updated: 08/10/2018
What is VoIP¶
Voice Over IP- VoIP for short- is a system of using phones to talk or communicate over the internet through ip addresses. VoIP is used by most businesses and call centers to have a myriad of phones easily managed by one system. You can also connect them all to one external number using extensions.
Businesses obviously need this to be able to communicate with customers effectively. They need to have the customer dial a number and be greeted by an automated message allowing them to dial an extension to access a certain person on the other end or just reach a support group. These phones all work through a single phone number linked to an IP.
Private Branch Exchange- PBX- is the name given to software that manages these VoIP systems. Variations include OpenPBX, FusionPBX, 3cx, and many more. Their goal is to give a sysadmin to allow easy control of a VoIP system. They allow for provisioning, extension and SIP management, system monitoring, and much more.
Most PBX systems run on a vm or independent machine. This allows them to either be virtualized in a server environment or have a dedicated box. These will act as a hub or control point for a whole network of phones. The general setup will be a firewall which filters any requests coming into the public IP of the pbx. The firewall will only communicate with the server. The server will then reach out to all the phones on its network and give them DHCP and connectivity to the phone system. This system allows intercom and extension communication to be done local, even if a internet service is down. A diagram can be seen below:
Endpoints and Tunneling¶
The endpoints in VoIP are devices that allow for communication through the PBX. These devices normally have at least a speaker and most likely a microphone. They mainly consist of phones from companies like Cisco, Grandstream, and Aastra.
There are two main types of phones used for VoIP. The first is hard phones. These are any physical dedicated devices to this network and system that aren't being used for any other use. Intercom systems, ip phones, and conference phones qualify as this.
The second type is a soft phone. Soft phones are devices that don't solely function as a phone on this system. These include office PCs and mobile phones such as iPhones or other smart phones. They normally rely on a tunnel to access the host.
A tunnel is a way of diverting packets to combine two separate local networks. What occurs is essentially a forwarding of all packets to another local network before accessing the intended internet target. So a phone on a 220.127.116.11 public address can appear to have that address, even though the packets are being forwarded through a tunnel and the phone's real public ip without the tunnel is 18.104.22.168. This can be seen in the diagram below:
This isn't only a fun way to spoof your source location, but it is also crucial to keep our processing on the PBX software on a single machine. We can also make any calls to a certain phone number be accessable anywhere, as long as the device has internet access. This is imperative for smart phones acting as soft phones working on remote wifi networks. They can tunnel back wherever they need to and access their network to be available as long as they have access to a public network.
A VOIP provider is a service bought by a company that allows connection to other phone numbers. This is effectively paying for phone service. Companies generally provide both termination and origination- outbound and inbound calling, respectively. A VOIP provider is NOT required for communication inside of a network or PBX system. This allows intercom systems and local calls to be done free of change.
Intercom and Paging¶
Paging systems can be found at schools and other large businesses. They act as a system of announcing things to a mass group of people. The notable difference about paging is that it talks from one machine to a mass amount of other machines with NO feedback. This means that there is no response on the other end from the machines. Paging is generally configured in an paging/intercom group allowing any one machine to dial an extension and call the rest of the machines.
Intercom is identical to paging except on a smaller scale. Intercom works by having one machine call another. Both sides can talk to each other. The difference between intercom and calling is there is no ring in intercom. As soon as the intercom is issued, you're connected. Paging and intercom use speaker phone on the listening end by default and the headset/handset microphone by default on the talking party.
Most systems configure this by making a intercom group. You can add the extensions to be called to your group and add a general extension number that is called from any added phone to call the rest of the group. However, most systems have a prefix that must be added for intercom and paging functionality to work. This prefix generally starts with a star (*) and is dialed before either 1) the intercom extension to talk to everyone else in the group or 2) any local extension to page them directly.
For example, if my intercom code was 810 and my intercom prefix was *10, dialing *10810 would intercom all phones in the group under 810. If I wanted to page Billy and his extension was 111, I could page Billy by typing *10111.
Provisioning: Initializing the connection between the phone and the PBX system. Downloads information about itself (extension, name, time, etc.) and updates. Reprovisions every time the phone is disconnected.
Extension: Number corresponding to certain phone. Can range from 00-99, 000-999, 0000-9999 generally or theoretically any size supported by PBX software. Each number corresponds to certain user
User: Certain person on a phone system. Generally has one device configured per person.
Ring Group: Different extensions all considered part of a group. Can all either be called in a certain order when a specific extension is dialed or all at once.