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 (onnet-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-touse, 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:
1Accept registrations from
the SIP user agents,
2Proxy 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.