If you are a savvy IT professional, then you would be well aware of the term VoIP. VoIP refers to voice over Internet Protocol. It is a technology that allows voice calls to be made via the internet instead of using the public phone networks. Voice over IP telephony is also referred as IP telephony. To learn more about VoIP technology and its requirements, read on.
A voIP trunk is basically an internet phone that receives and sends calls via internet connection instead of using traditional phone networks.
The VoIP service typically consists of a gateway appliance, usually called a switch or router and a user-agent. The user-agent is software that connects to the internet and initiates voice calls. There is no physical hardware required for this service as it is simply an internet application.
Every voIP system has an internal client that submits calls to the SIP broker. The SIP broker then sends the call to the relevant destination. The SIP client contains various pieces of information like the source and destination IP addresses, call length, and the call content. To enable the user-agent to understand how to process the call, it maintains a collection of call handling code (CHC) and sip parameters.
SIP is the term used to refer to the set of protocols and commands that make it possible for a computer to communicate with other computers. This enables phone calls to be made between a computer and its neighbor. In order for the VoIP system to work effectively, it must have at least one SIP port. Call transferring codes (CAC) are used between the user-agent and the server. For this reason, a sip box is essential for a VoIP system.
The most basic of VoIP calls involves three parts: the CTCP to the IP address of the calling party, the IHL value transmitted by the user-agent, and the payload, the message sent to the other end.
The first part, the CTCP, is always simple: the computer to which the call is being made establishes a connection to the IP network of the initiating phone. In the IHL value, the value represents the length of time that the message will be in use before it is dropped. The payload is data. There are two important aspects to this part of a VoIP conversation: first is the content-length, which determine how long a message will stay in the client’s buffer, and second is the session priority, which decide how long a call gets to be answered.
The other major part is the ACK or Asynchronous Carrier Message, which is sent to the user-agent with the control packet. It contains the acknowledgment for the last outgoing header, and the ACK is also known as the acknowledgement response. The user-agent will then process the ACK, and if it is successful, will send the original SMS message (the “e-senders” in VoIP). If the ACK was unsuccessful, or if the message could not be sent, an error will be returned. This is a typical scenario and one that is experienced all the time in VoIP: in addition to the content-length issue, the user-agent also has to decide whether to send a TCP segment, rather than a plain SMS message. This issue is referred to as the max-forwards issue.
An attempt to keep-alive a TCP segment is also called the keep-alive feature, and was first implemented in TCP/IP in 1990. The keep-alive mechanism is a simple extension of the traditional TCP option ACR, but with an added twist. In the TCP options ACR, a TCP segment can be specified with an extended header to be used for future connections, and the option values are checked against the current TCP connection. If the two match, the TCP session is kept alive, and a new request/response segment is created. The advantage of this is that, if there is ever a crash, users do not lose data or connection; instead, they are only given a new connection.
A TCP keep-alive message has three basic fields:
the first field is the TCP sequence number, the second field is the TCP header field, and the third field is the MSG type. These three fields combine with other specific and standard fields to define a generic type of message. However, even though a generic message is quite easy to implement, the application of this concept still depends on certain considerations. If a particular application allows sending multiple ACks in a single conversation, then it is called a ‘wan’, and a WAN is always considered as part of a ‘traffic stream’ – hence, it will send ‘streams’ of information, rather than single messages. Furthermore, for small messages, senders do not send any hacks at all, but rather wait for a response from receivers.