Implementing Voice over Broadband with Devana
 

The technical challenges in deploying and operating an IP Telephony services, however, are not small. One of the main challenges is to make the service transparent to subscribers: The subscribers shall expect to use their existing phones to make or receive calls in the same way as with the existing PSTN service. 

Introduction

The phenomenal growth of broadband Internet access (DSL, Cable, FTTH, etc.), has brought the realization of reliable packet switched IP Telephony Services with circuit switched toll-quality and subscriber feature transparency with that of the PSTN’s CLASS feature-set. In addition to basic offerings comparable to traditional PSTN services, many service providers have integrated their IP Telephony offering with a large number of web-based productivity applications like unified messaging and call management features such as, remote call forward configuration via the web. Such advances over traditional phone services, with equal or better voice quality and lower per-minute prices, have made IP Telephony service a viable business. In fact, IP Telephony service providers in the US and abroad have seen their subscriber base growing at a rapid pace.

Large-Scale Deployment of VoIP Endpoints

The technical challenges in deploying and operating a residential IP Telephony service, however, are not small. One of the main challenges is to make the service transparent to subscribers: The subscribers shall expect to use their existing phones to make or receive calls in the same way as with the existing PSTN service. To enable this level of transparency, the IP Telephony solution has to be tightly integrated. A key element in this end-to-end IP Telephony solution is the provision of an endpoint device that sits at a subscriber’s premises that serves as an IP Telephony gateway or telephone adapter. This phone adapter offers one or more standard telephone RJ-11 phone ports – identical to the phone wall jacks at home – where the subscriber can plug in their existing telephone equipment to access phone services. The IP Telephony gateway may connect to the IP network, like the Internet, through an uplink Ethernet connection.

Voice Quality Overview

Voice Quality perceived by the subscribers of the IP Telephony service should be indistinguishable from that of the PSTN. Voice Quality can be measured with such methods as Perceptual Speech Quality Measurement (PSQM) (1-5 – lower is better) and Mean Opinion Score (MOS) (1-5 – higher is better).  

The table below displays speech quality metrics associated with various audio compression algorithms:

Algorithm

Bandwidth

Complexity

MOS Score

G.711

64 kbps

Very Low

4.5

G.726

16, 24, 32, 40 kbps

Low

4.1 (32 kbps)

G.729a

8 kbps

Low - Medium

4

G.729

8 kbps

Medium

4

G.723.1

6.3, 5.3 kbps

High

3.8

Please note:  The Devana supports all the above voice coding algorithms.

Several factors that contribute to Voice Quality are described below.

Audio compression algorithm – Speech signals are sampled, quantized and compressed before they are packetised and transmitted to the other end. For IP Telephony, speech signals are usually sampled at 8000 samples per second with 12-16 bits per sample. The compression algorithm plays a large role in determining the Voice Quality of the reconstructed speech signal at the other end. The Devana supports the most popular audio compression algorithms for IP Telephony: G.711 a-law and µ-law, G.726, G.729a and G.723.1.

The encoder and decoder pair in a compression algorithm is known as a codec. The compression ratio of a codec is expressed in terms of the bit rate of the compressed speech. The lower the bit rate, the smaller the bandwidth required to transmit the audio packets. Voice Quality is usually lower with lower bit rate, however. But Voice Quality is usually higher as the complexity of the codec gets higher at the same bit rate. 

Silence Suppression – The Devana applies silence suppression so that silence packets are not sent to the other end in order to conserve more transmission bandwidth; instead a noise level measurement can be sent periodically during silence suppressed intervals so that the other end can generate artificial comfort noise that mimics the noise at the other end (using a CNG or comfort noise generator).

Packet Loss – Audio packets are transported by UDP which does not guarantee the delivery of the packets. Packets may be lost or contain errors which can lead to audio sample drop-outs and distortions and lowers the perceived Voice Quality. The Devana applies an error concealment algorithm to alleviate the effect of packet loss.

Network Jitter – The IP network can induce varying delay of the received packets. The RTP receiver in the Devana keeps a reserve of samples in order to absorb the network jitter, instead of playing out all the samples as soon as they arrive. This reserve is known as a jitter buffer. The bigger the jitter buffer, the more jitter it can absorb, but this also introduces bigger delay. Therefore the jitter buffer size should be kept to a relatively small size whenever possible. If jitter buffer size is too small, then many late packets may be considered as lost and thus lowers the Voice Quality. The Devana can dynamically adjust the size of the jitter buffer according to the network conditions that exist during a call.

Echo – Impedance mismatch between the telephone and the IP Telephony gateway phone port can lead to near-end echo. The Devana has a near end echo canceller with at least 8 ms tail length to compensate for impedance match. The Devana also implements an echo suppressor with comfort noise generator (CNG) so that any residual echo will not be noticeable.

Hardware Noise – Certain levels of noise can be coupled into the conversational audio signals due to the hardware design. The source can be ambient noise or 60Hz noise from the power adaptor. The Devana hardware design minimizes noise coupling.

End-to-End Delay – End-to-end delay does not affect Voice Quality directly but is an important factor in determining whether subscribers can interact normally in a conversation taking place over an IP network. Reasonable delay figure should be about 50-100ms.  End-to-end delay larger than 300ms is unacceptable to most callers.  The Devana supports end-to-end delays well within acceptable thresholds.

The Session Initiation Protocol – SIP

Why SIP?

There are many excellent articles and books that discuss the advantages of SIP.

Here are some of the more popular details:

1.  SIP message constructs are very similar to those of HTTP which is well-known to be IP Network (Internet) friendly.

2.     SIP is transport agnostic – meaning it can be used over TCP/IP or UDP/IP, with or without security.

3.      SIP has a better chance of punching through NAT than other control protocols.

4. SIP enables the implementation of intelligent endpoints to support scalable advanced services. In a nutshell, SIP is a distributed signalling protocol (as opposed to a centralized protocol such as SS7, MGCP or MEGACO/H.248). With a distributive protocol, the intelligence does not necessarily reside on a central server, but can be built into the individual endpoints. By moving the intelligence to reside within the endpoints at the edge of the network, the processing load of the network application and associated call servers are significantly reduced, thus making the network a very scalable solution.

 

Figure 1 -- Components of a Devana Telephony Network

 

IP Telephony Gateway (Devana Home): The Devana Home is a small device that sits at the subscriber’s premises. It converts between analog telephone signals and IP Telephony signals. It has up to two RJ-11 ports where standard analog telephones can be directly attached, and an RJ-45 interface for the Ethernet connection to the home or business LAN. Intelligence can be built into this device to provide a wide range of features to the subscribers in association with the other elements in the service. The Devana Home functions as a SIP User Agent (UA).

Home/SOHO Routers with NAT Functionality: A home/SOHO router is used for routing IP packets between the subscriber’s private network and the ISP’s public network. If the ISP provides only one public IP address to the subscriber, the devices attached to the private network will be assigned private IP addresses and the router will perform network address translation (NAT) on packets sent from the private network to the public network via the router. Home routers offer the following features:

1.  An R-J45 WAN interface for connection to the ISP’s public network and one or more RJ-45 LAN interfaces for connection to the subscriber’s private network. The router directs packets between the private network and the public network.

2.    A PPPoE client to connect with the ISP through a DSL modem.

3.  A DHCP client where the router will obtain an IP address, subnet mask, default router assignment, etc., for its WAN interface from a DHCP server on the public network.

4. A DHCP server for auto-assignment of private IP addresses, subnet mask, and default router assignment to devices attached to the private network, i.e. computers, IP Telephony gateways, etc. The default router in this case is the IP address of the LAN interface of the router itself.

5.  Performs NAT on packets sent from the private network to the public network.

This is an important feature such that recipients of the private packets will perceive them as originated from a public IP address (the router’s WAN interface) and will therefore return messages to the proper public IP address and port. Different routers may use different rules for allocating port numbers at the WAN interface to forward packets from a private IP address/port to a public IP address/port. The allocated port number is also used for routing packets from external IP addresses to a private address. Most routers will accept a number of static port mapping rules for forwarding packets received on a specific port at the WAN interface to a specific IP address/port in the private network.

 

PSTN - VoIP Gateways: These devices are required if user agents are expected to make calls to or receive calls from the PSTN. Many gateways may be deployed in order to service a wide area. Gateways also behave like SIP user agents. The proxy server can be configured with cost-saving rules based call routing information so that it may decide which gateway to use depending on the destination and the time of the call. The IP Telephony service provider will assign each subscriber an E164 telephone number so that it may be reached from the PSTN just like any other telephone.

Billing Servers: Billing servers are used to generate billing data per usage of the IP Telephony service. Typically, the service provider will charge a flat fee for unlimited calls between IP Telephony subscribers (on­net-to-on-net calls). Per use or minute chargers will be incurred only when the subscriber makes calls to PSTN numbers (on-net-to-off-net calls) through one of the PSTN gateways. CDR (call detail record) data are generated by the PSTN gateway and sent to the billing servers. 

Provisioning Servers: Provisioning servers are used to provision the subscriber user agent devices, e.g. the Devana. When a subscriber signs up for IP Telephony service, he selects an appropriate service level and enters his personal information including billing information. This information is processed by the provisioning server and stored into the service provider’s customer database. The provisioning server generates a device profile based on the subscriber’s choice of options. The device profile, which is list of configuration parameters, is downloaded into the Devana from the provisioning server. The Devana can be configured to contact the provisioning server periodically to check for any update of the device profile, which may include a firmware upgrade or configuration modification to the Devana. 

Application Servers: Application servers are used to provide value added services, such as call forwarding, outgoing or incoming call blocking

Voice Mail Servers: Specialized servers provide voice mail services to the IP Telephony service subscribers. When the subscriber is busy or the Devana is out of service for maintenance or other reason, incoming calls to the subscriber may be redirected to the voice mail servers where the caller can leave a voice mail. The voice mail server will then notify the subscriber’s Devana of the availability of voice mail(s) in his mailbox. The subscriber can then contact the voice mail server to retrieve his voice mail(s). The Devana can indicate the message-waiting status to the subscriber through a number of methods such as stuttered dial tone heard through the telephone every time the subscriber lifts up the handset until the voice mail is retrieved.

Provisioning Overview

The Devana is configurable in many ways such that it can provide a wide range of customizable services and operate in many diverse environments with a variety different vendors’ SIP Proxy Servers, VoIP Gateways, Voice Mail Servers, NAT applications, etc. Provisioning is the process by which the Devana obtains a set of configuration parameters in order for it to operate in the Service Provider’s network. 

The complete set of configuration parameters for a Devana corresponding to an individual subscriber is referred to as a configuration profile or simply a Profile. The Profile can be encoded as an XML file or a simple plain text file with a list of tag/value pairs. When the Devana unit is shipped from the factory, it contains a default common Profile and is considered Unprovisioned. To save costs and expedite delivery, however, it is very desirable that an unprovisioned unit can be shipped directly from the factory to the subscriber’s location without any preprocessing by the Service Provider. 

The Devana contacts the Service Provider’s provisioning server via the IP network or Internet when it is plugged into the subscriber’s home or business Local Area Network (LAN) – assuming the provisioning server is reachable from the subscriber’s home network – to pull the designated profile to be installed in that particular Devana unit. Furthermore, the Devana unit will periodically contact the provisioning server to download an updated profile. The protocol for downloading the configuration profile can be “clear text” TFTP or HTTP data or it can be encrypted TFTP, HTTP or HTTPS data if security is required.  Security will be discussed in more details in a later section.

 

This type of autonomous remote provisioning, where the individual Devana unit pulls the profile from the provisioning server is very scalable and flexible. Using this provisioning method, a large number of Devana units can be provisioned simultaneously and updated periodically. 

However, some basic information must be provided to the Devana before it can be provisioned in this fashion: a) the IP address or domain name of the provisioning server to contact, and b) an ID and/or a password to send to the provisioning server such that it can associate it with a specific subscriber and obtain the corresponding profile. This information can be sent out-of-band to the subscriber via secured email or in a letter inside a welcome kit, for example. The subscriber might need to punch in some numbers using a telephone connected to the Devana in order to enter this information into the unit. The Devana provides an easy-to-use interface with audio instructions to make this initial configuration process as painless as possible. An alternative is for the unit to be provisioned with this basic information by the Service Provider before the unit is shipped to the subscriber.

In addition to the batch mode of remote provisioning, the Devana allows an interactive mode of local provisioning. One way to offer this feature is through the use of an IVR system (accessed through an attached telephone set). The user can access a diagnostic or configuration menu to check the status of the device or to change some of the settings. This method of provisioning may be applied by an administrator when the device is at the Service Provider’s office, or by the subscriber under the guidance of trained personnel during over-the-phone troubleshooting.

A third method of entering provisioning information into the Devana is by way of its integral web server via a browser on a PC.  The subscriber has the option to set and adjust configuration parameters via an easy-to­use, password protected graphical user interface.  This method of provisioning might be preferred by administrators who wish to access the Devana over a secure corporate/institutional LAN or by the residential subscriber who is a “power user.”

Security Overview

Security may be applied at many levels in the context of the Devana. The following are examples of information that should be secured:

The configuration profile pulled from the provisioning server – The downloading of the profile should be secured since it contains authentication (password/user name ID / number) information for accessing subscriber telephony services. It may also contain other passwords and/or encryption keys used for a variety of management and service operations.

The administration password to the Devana unit – The unit must disallow access to administrative functions to unauthorized users. This access can be controlled with an administrator password. The administrator password can be one of the parameters in the Devana configuration profile.

The SIP signalling messages – The SIP messages exchanged between the SIP proxy server and the Devana should be encrypted with a secret key. This can be achieved, for instance, by transporting SIP over TLS.

RTP packets – The RTP payload exchanged between SIP user agents can be encrypted with a secret key to protect against eavesdropper. The secret key can be negotiated with proper SIP signalling messages. Hence the signalling path must be secured also.

 

Proxy Servers

Proxy servers handle two functions: 

1                    Accept registrations from the SIP user agents,

2                    Proxy requests and responses between user agents.

 

Registration is the process by which a user agent tells the proxy who it is and at what IP address and port that it can be reached via SIP. Registration usually expires within a finite period (e.g., 60s or 3600s) and the UA shall renew their registration periodically before the last registration expires. When a user agent initiates a call, it sends a SIP INVITE request to the proxy server and indicates the target recipient of the call. The proxy server then consults a database to determine where to forward the request to the destination user agent. The proxy server can request authentication credentials from the user agent before granting the service. The credentials are computed by the user agent based on a pre-provisioned password and a challenge “nonce” dynamically generated by the proxy server per request. This mechanism prevents unauthorized user agents from getting IP Telephony services through the proxy server. 

SIP proxy servers are operated by the IP Telephony service provider and resides at the service provider’s domain. They may be implemented in many different ways. They can be stateless, stateful, or B2BUA. Stateless proxies do not maintain states of each call; they simply proxy the requests and responses between the user agents. Hence they are the simplest, most scalable, but provide the least types of services. Advanced IP Telephony services are possible with these proxies only with intelligent user agent devices that are capable of delivering these services without proxy intervention. Stateful proxies maintain the call state of each call and can provide more intelligent services at the expense of more processing load per call. B2BUA proxies process every request and response from the user agents and are capable of providing very advance services even with relatively simple user agent devices. Obviously B2BUA proxies have the highest processing load per call.

SIP Services

Today’s PSTN offers a large number of enhanced services in addition to basic phone services. Most of the services offered by the PSTN are accessed by the subscribers through their telephone sets. The subscribers provide their input by talking into the handset, pressing the keypad, the switch hook or flash button, while the PSTN presents instructions / information/confirmation to the subscribers through a variety of audio tones, beeps and/or announcements. The Devana supports a comparable range of services via a similar user interface in order to make the IP Telephony service transparent to subscribers. 

The Devana is fully programmable and can be custom provisioned to emulate just about any traditional telephony service available today.  This ability to transparently deliver legacy services over an IP network coupled with the availability of Internet connected devices (PCs. PDA, etc.) and browsers opens up a new world of potential offerings that a provider can use to differentiate their service and grow their business.

The following is a list of commonly supported phone services:

 

Basic Services

Making Calls to PSTN and IP Endpoints

This is the most basic service. When the user picks up the handset, the Devana provides dial tone and is ready to collect dialing information via DTMF digits from a touch tone telephone. While it is possible to support overlapped dialing within the context of SIP, the Devana collects a complete phone number and sends the full number in a SIP INVITE message to the proxy server for further call processing. In order to minimize dialing delay, the Devana maintains a dial plan and matches it against the cumulative number entered by the user. The Devana also detects invalid phone numbers not compatible with the dial plan and alerts the user via a configurable tone (reorder) or announcement.

Receiving Calls from PSTN and IP Endpoints

The Devana can receive calls from the PSTN or other IP Telephony subscribers. Each subscriber is assigned an E.164 phone number so that they may be reached from wired or wireless callers on the PSTN. The Devana supplies ring voltage to the attached telephone set to alert the user of incoming calls.

Enhanced Services

Enhanced Services are provided in addition to Basic calling services and accessed by way of a touchtone phone through a series of menus.  Since the service enabled by the Devana are Internet in nature, these enhanced services can be made better by offering users a web browser based interface to control certain aspects of some or all services.

Caller ID

In between ringing bursts, the Devana can generate a Caller ID signal to the attached phone when the phone is on-hook.

Calling Line Identification Presentation (CLIP)
Some subscribers will elect to always block their Caller ID information, yet there may be a circumstance where sending Caller ID information for a particular call is desired, i.e. trying to reach a party that does not accept Caller ID blocked calls.

The subscriber activates this service to send his Caller ID when making an outgoing call. To activate the service, the subscriber enters the corresponding * or # code prior to making the call.  This service is in effect only for the duration of the current call.

Calling Line Identification Restriction (CLIR) – Caller ID Blocking The subscriber activates this service to hide his Caller ID when making an outgoing call. To activate the service, the subscriber enters the corresponding * or # code prior to making the call.  This service is in effect only for the duration of the current call.

Call Waiting

The subscriber can accept a call from a 3rd party while engaging in an active call. The Devana shall alert the subscriber for the 2nd incoming call by playing a call waiting tone.

Disable or Cancel Call Waiting By setting the corresponding configuration parameter on the Devana, the Devana supports disabling of call waiting permanently or on a per call basis.

Call-Waiting with Caller ID In between call waiting tone bursts, the Devana can generate a Caller-ID signal to the attached phone when it is off hook.

Voice Mail

Message Waiting Indication
Service Providers may provide voice mail service to their subscribers. When voice mail is available for a
subscriber, a notification message will be sent from the Voice Mail server to the Devana. The Devana indicates
that a message is waiting by, playing stuttered dial tone (or other configurable tone) when the user picks up
the handset.

Checking Voice Mail
The Devana allows the subscriber to connect to their voice mail box by dialing their personal phone number.

Call Transfer

Three parties are involved in Call Transfer: The transferor, transferee, and transfer target. There are 2 flavors of call transfer: Attended Transfer (Transfer with consultation) and Unattended Transfer (“Blind” Transfer).

Attendant Transfer The transferor dials the number of the transfer target, then he hangs up (or enters some * or # code) when the transfer target answers or rings to complete the transfer.

Unattended or “Blind” Transfer The transferor enters some * or # code and then dials the number of the transfer target to complete the transfer (without waiting for the target to ring or answer).

Call Hold

Call Hold lets you put a caller on hold for an unlimited period of time. It is especially useful on phones without the hold button. Unlike a hold button, this feature provides access to a dial tone while the call is being held.

Three-Way Calling

The subscriber can originate a call to a 3rd party while engaging in an active call.

Three-Way Ad-Hoc Conference Calling

The Devana can host a 3-way conference and perform 3-way audio mixing (without the need of an external conference bridge device or service).

Call Return

The Devana supports a service that allows the Devana to automatically dial the last caller’s number.

Call Return on Busy

If the last called number is busy, the subscriber can order this service to monitor the called party and to receive a notification from the Devana (such as special phone ring) when that party becomes available.

Automatic Call Back

This feature allows the user to place a call to the last number they tried to reach whether the call was answered, unanswered or busy by dialing an activation code.

Call Forwarding

These services forward all the incoming calls to a static or dynamically configured destination number based on three different settings. These services may be offered by the Devana or by the SIP proxy server. They can be activated by entering certain * or # code, followed by entering a telephone number to forward calls to. The Devana provides audio instructions to prompt the user for a forwarding number and confirms that the requested service has been activated.  

Call FWD – Unconditional All calls are immediately forwarded to the designated forwarding number.  The Devana will not ring or provide call waiting when Call FWD – Unconditional is activated.

Call FWD – Busy Calls are forwarded to the designated forwarding number if the subscriber’s line is busy because of the following; Primary line already in a call, primary and secondary line in a call or conference.

Call FWD - No Answer Calls are forwarded to the designated forwarding number after a configurable time period elapses while the Devana is ringing and does not answer.

Anonymous Call Blocking

By setting the corresponding configuration parameter on the Devana, the subscriber has the option to block incoming calls that do not reveal the caller’s Caller ID.

Distinctive / Priority Ringing

The Devana supports a number of ringing and call waiting tone patterns to be played when incoming calls arrive. The choice of alerting pattern to use is carried in the incoming SIP INVITE message inserted by the SIP Proxy Server (or other intermediate application server in the Service Provider’s domain).

Speed Dialing

The Devana supports speed dialing of up to eight (8) phone numbers or IP addresses.  To enter a telephone number speed dial using a touch tone telephone, the user dials a feature code (*74), followed by a number (2-9), then the destination speed dialed target number.  When the user wishes to speed dial a target number, they press the corresponding speed dial assigned number followed by the “#” (pound) key.

Users may also enter/review speed dials from User1/User2 web-pages.  This interface or similar is required to enter IP address targets.

PSTN Internetworking

The Devana is designed to provide a transparent internetworking relationship with the PSTN.  Service providers can deploy the Devana in such a way that PSTN endpoints – wired or wireless – communicating with Devana endpoints do so without modification to their configuration or network settings.

The service provider may choose to deploy a multi-protocol VoIP network, much the same way the PSTN supports multiple signalling schemes today.  Most telecommunication providers operate equipment that supports CAS or channel associated signalling, ISDN signalling and SS7 signalling.  When VoIP is introduced or used in the telecommunications landscape, it is likely that the service provider will implement a signalling gateway that supports multiple IP Telephony protocols along with legacy PSTN protocols.  The signalling gateway is commonly referred to as a Softswitch.

Architecture and functionality can vary greatly amongst the different softswitch vendors.  The protocols used will depend on the types of connections that will be set-up across the service provider’s network.  If the provider is simply providing transport of calls to/from their network to another provider’s network, but not originating or terminating calls with the endpoints, SIP will likely be used for softswitch to softswitch communication.

If the service provider is offering origination and/or termination on endpoint equipment then it is very likely that the softswitch chosen for network operations will support multiple PSTN and VoIP signalling protocols.

The table below lists the most commonly accepted, de-facto standards used when implementing a VoIP signalling scheme based on the type of gateway or endpoint equipment being deployed:

VoIP Equipment Type

Typical Port Density

De-Facto Signalling Standards

Trunking Gateways

Greater Than 500 Ports

H.248-Megaco / MGCP / IPDC

Access Gateways

Between five and 500 Ports

SIP / H.323

PBX/KTS Platforms

Between ten and 500 Ports

SIP / H.323 / SCCP

PBX/KTS Telephone Sets

One Port

SIP / MGCP / SCCP

Phone Adapters and IP Centrex Phones

Up to four Ports

SIP / MGCP

 

The Devana supports SIP today.  It has the capability to communicate with a variety of endpoints and signalling entities via SIP messages.

Network Address Translation (NAT) Traversal

Why NAT?

A NAT allows multiple devices to share the same external IP address to access the resources on the external network. The NAT device is usually available as one of the functions performed by a router that routes packets between an external network and an internal (or private) one. A typical application of a NAT is to allow all the devices in a subscriber’s home network to access the Internet through a router with a single public IP address assigned by the ISP. The IP header of the packets sent from the private network to the public network can be substituted by the NAT with the public IP address and a port selected by the router according to some algorithm. In other words, recipient of the packets on the public network will perceive the packets as coming from the external address instead of the private address of the device where the packets are originated.

In most Internet protocols, the source address of a packet is also used by the recipient as the destination to send back a response. If the source address of the packets sent from the private network to the public network is not modified by the router, the recipient may not be able to send back a response to the originator of the message since its private source IP address/port is not usable. When a packet is sent from a device on the private network to some address on the external network, the NAT selects a port at the external interface from which to send the packet to the destination address/port. The private address/port of the device, the external address/port selected by the NAT to send the packet, and the external destination address/port of the packet form a NAT Mapping.

The mapping is created when the device first sends a packet from the particular source address/port to the particular destination address/port and is remembered by the NAT for a short period of time. This period varies widely from vendor to vendor; it could be a few seconds, or a few minutes, or more, or less. While the mapping is in effect, packets sent from the same private source address/port to the same public destination address/port is reused by the NAT. The expiration time of a mapping is extended whenever a packet is sent from the corresponding source to the corresponding destination. 

More importantly, packets sent from that public address/port to the external address/port of the NAT will be routed back to the private address/port of the mapping session that is in effect. Some NAT devices actually reuse the same mapping for the same private source address/port to any external IP address/port and/or will route packets sent to its external address/port of a mapping from any external address/port to the corresponding private source address/port. These characteristics of a NAT can be exploited by an Devana to let external entities send SIP messages and RTP packets to it when it is installed on a private network.

VoIP-NAT Internetworking

In the case of SIP, the addresses where messages/data should be sent to an Devana are embedded in the SIP messages sent by the device. If the Devana is sitting behind a NAT, the private IP address assigned to it is not usable for communications with the SIP entities outside the private network. The Devana must substitute the private IP address information with the proper external IP address/port in the mapping chosen by the underlying NAT to communicate with a particular public peer address/port. For this the Devana needs to perform the following tasks:

Discover the NAT mappings used to communicate with the peer. This could be done with the help of some external device. For example a server could be deployed on the external network such that the server will respond to a special NAT-Mapping-Discovery request by sending back a message to the source IP address/port of the request, where the message will contain the source IP address/port of the original request. The Devana can send such a request when it first attempts to communicate with a SIP entity in the public network and stores the mapping discovery results returned by the server. 

Communicate the NAT mapping information to the external SIP entities. If the entity is a SIP Registrar, the information should be carried in the Contact header that overwrites the private address/port information. If the entity is another SIP UA when establishing a call, the information should be carried in the Contact header as well as in the SDP embedded in SIP message bodies. The VIA header in outbound SIP requests might also need to be substituted with the public address if the UAS relies on it to route back responses.

Extend the discovered NAT mappings by sending keep-alive packets. Since the mapping is only alive for short period, the Devana continues to send periodic keep-alive packets through the mapping to extend its validity as necessary.

Conclusion

The phenomenal growth of broadband Internet access (DSL, Cable, FTTH, etc.), has brought the realization of reliable packet switched IP Telephony Services with circuit switched toll-quality and subscriber feature transparency with that of the PSTN’s CLASS feature-set. In addition to basic offerings comparable to traditional PSTN services, many service providers have integrated their IP Telephony offering with a large number of web-based productivity applications like unified messaging and call management features such as, remote call forward configuration via the web. Such advances over traditional phone services, with equal or better voice quality and lower per-minute prices have made IP Telephony service a viable business.  

Devana Technology offers VoIP endpoint solutions that enable IP telephony services that are feature rich with carrier grade reliability and scalability.