Voice over IP

Voice Over Internet Protocol allows the sending of telephony voice over IP (Internet Protocol) data connections rather than over existing dedicated voice networks, switching and transmission equipment. This can have several advantages, including:

  1. Significant savings can be made in cost and space for telephony switches and other related equipment.
  2. Compression techniques can be used to reduce the amount of data being sent in each packet.
  3. Standard computer equipment can be used, instead of the highly-proprietary telephony hardware.
  4. The same data connections can be shared between data and voice, with the excess bandwidth being used for data when voice call volume is low. This also makes it much easier to create applications that integrate voice and data.

Blueworx Voice Response can be connected to VoIP networks using one or more external VoIP/PSTN Gateways. See Figure 1.

How does Voice over IP work?

In any telephony system, two things are carried by the network: voice data and signaling information. Voice is the sound information detected by the microphone in the telephone and transmitted to the receiver over a communication channel. Signaling is the information exchanged between stations participating in the call when a call is started or ended, or when an action (for example, call transfer) is requested. Traditionally, both voice and signaling information have been sent together through dedicated circuit switched telephony channels (for example T1 or El, or ISDN). However, with VoIP, voice and signaling are sent using standard TCP/IP protocols over a physical link such as an Ethernet network. This exchange of signaling and voice information takes place in both directions at the same time with each endpoint sending and receiving information over the IP network.

Sending voice data over an IP network

With VoIP, voice data is digitally encoded using μ-law or A-law Pulse Code Modulation (PCM). The voice data can then be compressed and sent over the network in TCP/IP Unacknowledged Datagram Packets (UDPs). Standard TDM telephony sends voice data at a low constant data rate. With VoIP, relatively small packets are sent at a constant rate. The total overall rate of sending data is the same for each kind of telephony.

The advantage of VoIP is that one high-speed network can carry the packets for many voice channels and possibly share with other types of data at the same time (for example, FTP, and data sockets). A single high-speed network is much easier to set up and maintain than a large number of circuit switched connections (for example, T1 links).

The TCP/IP UDP protocol is used to transmit voice data over a VoIP network. UDP is a "send and forget" protocol with no requirement for the transmitter to retain sent packets should there be a transmission or reception error. If the transmitter did retain sent packets, the flow of real-time voice would be adversely affected by a request for retransmission or by the retransmission itself; especially if there is a long path between transmitter and receiver).

The main problems with using UDP are that:
  • There is no guarantee that a packet may actually be delivered.
  • Packets can take different paths through the network and arrive out of order.
To overcome these problems, the Real Time Protocol (RTP) is used with VoIP. RTP provides a method of handling disordered and missing packets and makes the best possible attempt to recreate the original voice data stream (comfort noise is intelligently substituted for missing packets)

Signaling over an IP network

The SIGNALLING message is used by the VoIP phone that initiates a call (the calling party) to inform the called party that a connection is required. The called party can then accept the call or reject the call (for example, if the called party is already busy). Other signaling exchanges will be initiated by actions like near or far end hang-up, and call transfer.

For VoIP, several signaling protocols are in general use:
  • Session Initiation Protocol (SIP) is a modern protocol which is being used more widely.
  • Media Gateway Control Protocol (MGCP) is used internally with telephone networks.
  • H.323 is an older protocol which is no longer widely supported.
Blueworx Voice Response supports only SIP, using a version that fully conforms to RFC 3261 (the standard definition for SIP). SIP is based on text-based messages, that are exchanged between endpoints whenever any signaling is required. These message exchanges are mapped by Blueworx Voice Response SIP support to standard telephony actions within Blueworx Voice Response itself. Standard telephony actions include:
  • Incoming calls
  • Outgoing calls
  • Near end hang-up
  • Far end hang-up
  • Transfers (several types are supported including “blind” and “attended”)
SIP messages can use either TCP (a reliable, guaranteed message exchange) or UDP (a non-guaranteed datagram protocol).

Components of a VoIP network

Figure 1. An example of a VoIP network
Graphic showing an IP network with IP telephones attached to it. is connected to the network through a VoIP gateway, and there is an additional gateway to the PSTN.
There are three main components of a VoIP network, as shown in Figure 1 above:
Endpoints
In a VoIP network, any device that can make or receive telephone calls is called an endpoint. An endpoint can be one of the following:
  • A SIP hard phone
  • A SIP soft phone
  • Blueworx Voice Response (which simulates a number of phones) for incoming or outgoing calls.
Gateways
A gateway is a device that acts as a bridge between VoIP and the PSTN network. A gateway can take an incoming call from a T1 interface, convert the signaling into SIP message exchanges, and convert the voice from TDM into RTP packets.
Proxy servers
In a SIP system, a proxy server (used with a register and a location server), can provide the following services
  • Call Routing including URI translation.
  • Registration.
  • Access (authentication) to a SIP network.
A Proxy server provides the intelligence of how calls are routed within a SIP VoIP network. For example, a gateway might be configured to send all incoming calls to the SIP proxy server which will then route the calls to specific endpoints (this could be done to perform load balancing or skills-based routing).

Using VoIP with Blueworx Voice Response

The Voice over IP (SIP) feature for Blueworx Voice Response allows a Blueworx Voice Response application to act as an IP telephony endpoint. With the ability to run up to 480 E1 or 384 T1 channels (16 trunks) at the same time, Blueworx Voice Response can simulate up to 480 SIP endpoints. (As with standard telephony, each simulated endpoint behaves like a real hard or soft phone).

Blueworx Voice Response applications that interact with the SIP network can be written using CCXML, VoiceXML, Java or state tables. As long as some simple numbering plan rules are adhered to within the SIP network, existing Blueworx Voice Response applications should run unmodified (as they operate in terms of standard E.164 telephone numbers). If required, Blueworx Voice Response applications can be written specially for VoIP, to fully exploit the additional functionality provided by SIP (for example, textual addresses - URLs or URIs).