What is VoIP?VoIP stands for Voice Over Internet Protocol or Voice Over IP. VoIP technology makes it possible to convert analog voice signal into digital data and transmits it over the Internet. (There are more likely possible pronunciations, as well as vo-ipp, have been used, but generally, the single syllable - voyp, as in voice - may be the most common within the industry.)
Due to its cost efficiency, VoIP is more and more popular largely over traditional telepone networks. VoIP cuts companies’ monthly phone bill by approximately fifty percent. In addition to its cost efficiency, VoIP technology ensures many advanced features, like conference calling, IVR, call forwarding, automatic redial, call recording, etc. without extra fees.
VoIP offers cheaper international long distance rates that are generally one-tenth of what is charged by traditional phone companies.
Due to its portability VoIP is a really good option to avoid expensive hotel phone and cell phone roaming charges. Only a high speed broadband connection (and a plugged adapter) is needed and anyone can reach you at your local number - independently of your location. Most of the times in-network calls to other VoIP service subscribers are free even if the calling parties are located in different parts of the world.
By using Internet connection for both data traffic and voice calls, it is possible to get rid of one monthly payment that are usually charged by most Internet service providers. In addition, the Internet-based voice and data transmission enables to avoid wireless roaming fees and long distance rates.
In addition to its cost efficiency, the feature-rich services and the metaphorical disappearance of geographical boundaries as that were mentioned above, VoIP has many other benefits as follows:
- VoIP technology enables to detect and process touch tones and DTMF responses
- VoIP systems can be automated easily
- VoIP systems allow to use more than one codec
- VoIP provides rich media service as more file formats can be used with these systems
- VoIP ensures a much more flexible system than hardware based solutions
- Most VoIP service providers provide a user control interface, typically a web GUI, to their customers so that they can change features, options, and services dynamically.
- VoIP protocols run on
the application layer and are able to integrate or collaborate with
other applications such as email, web browser, instant messenger,
social-networking applications, etc.
In VoIP systems, your analog voice is converted into packets of data (as little files), and then transmitted to the recipient through the Internet and decoded back into your voice at the other end. To make it quicker, these packets are compressed before transmission, a bit like zipping a file (it will be decompressed of course at the other party).
The advantages of converting analog signals into digital data can be summarized as follows: Digital format can be better controlled as it can be compressed, routed, converted, etc. In addition, digital signals are more noise tolerant than analog signals. Quality of Service (QoS) ensures real-time errorless data streaming that allows interactive data voice exchange as well.
If you only want to use VoIP to communicate with other users in your VoIP network, you can do that free of charge. If however you want to be able to use VoIP to make and receive calls to/from people who are out of your VoIP network or do not have VoIP, you will need to subscribe to a VoIP service provider plan, and a gateway service may be also needed that provides a bridge between VoIP and the conventional phone networks.
Definitely yes. VoIP is a very cost-effective option for those companies who want to upgrade their old PBX systems and VoIP ensures new features that traditional PBX systems simply do not. To change to a VoIP system, companies can buy an IP PBX, but it is also possible to add some VoIP functionalities into an existing phone system.
Getting started with VoIP is fairly simple. Assuming that you already have the 2 most important ingredients (a Windows PC or Mac computer and a broadband Internet connection), all you need to get started is the following:
- Some telephone or messaging software
- A microphone
- Headphones or speakers
In order to choose which software to use, it is worth to consider the followings. Using voice chat in G-Talk or Yahoo Messenger could be regarded as VoIP, so could the highly publicised Skype; but these are all proprietary systems. You can download them free of charge, but to talk to someone using G-Talk, the person at the other end also needs G-Talk. The same applies to Yahoo and, to a great extent, to Skype. They use their own special system that is not open and will not connect to other systems easily. So – especially for corporate using – it is rather recommended to use such a softphone as ConterPath X-Lite with a SIP enabled IP PBX or access to an Internet Service Provider.
VoIP has been implemented in various ways using both proprietary protocols and protocols based on open standards. You can see the VoIP protocols below:
- Media Gateway Control Protocol (MGCP)
- Session Initiation Protocol (SIP)
- H.248 (also known as Media Gateway Control (Megaco))
- Real-time Transport Protocol (RTP)
- Real-time Transport Control Protocol (RTCP)
- Secure Real-time Transport Protocol (SRTP)
- Session Description Protocol (SDP)
- Inter-Asterisk eXchange (IAX)
- Jingle XMPP VoIP extensions
- Skype protocol
SIP can be used for creating, modifying and terminating two-party (unicast) or multiparty (multicast) sessions. These sessions include Internet telephone calls, multimedia distribution, multimedia conferences, instant messaging, file transfer and online games.
How to get started on VoIP programming?
The best way for creating any VoIP application is using a VoIP development kit. These SDKs are intended to provide a background support for your VoIP project by offering prewritten VoIP components. It is quite effective and comfortable to use these prewritten components, as you can save time and money as well. (During the softphone development that will be described below, Ozeki VoIP SIP SDK has been used for this purpose, that supports all the .NET programming languages, so C# as well.)
For using these toolkits, you have to add your preferred SDK as reference in you IDE. After you have added it, you can reach all VoIP components that are needed to be able to define the behaviour of such VoIP applications as softphones, call recorders, IVR menu systems, software-based IP phone systems (PBX), etc.
In order to be able to make voice calls by using your own software application you need to connect your system to the telephone network. This can be done in three ways:
- Option 1: Use a VoIP telephone adapter
A VoIP telephone adapter is a hardware device that can be connected to your Ethernet LAN or to your PC. There are VoIP telephone adapters for GSM lines, for standard analog telephone lines and for ISDN lines. When you connect this hardware to your Ethernet LAN, it will receive an IP address. You need to configure this IP address in your VOIP SDK.
- Option #2: Use a SIP Account provided by VoIP telephone service provider
There are many VoIP telephone service providers worldwide that offer phone service over the Internet. You need to subscribe to their service, and you will receive a SIP account (including an IP address, a username and a password). You need to configure the SIP account details in your VoIP SDK.
- Option #3: Use
your existing office PBX if it is a VoIP system.
If you already have an IP telephone system, you need to connect your VoIP SDK to that over the LAN. The SDK can log in to the phone system by using a SIP account and it can make telephone calls just like any other