$Revision$
$Date$
General Information
About SIP Express Router (SER)
SIP Express Router (SER) is an
industrial-strength, free VoIP server based on the Session
Initiation Protocol (SIP, RFC3261). It is
engineered to power IP telephony infrastructures
up to large scale. The server keeps track of users, sets up VoIP
sessions, relays instant messages and creates space for new plug-in
applications. Its proven interoperability guarantees seamless
integration with components from other vendors, eliminating the
risk of a single-vendor trap. It has successfully participated in
various interoperability tests in which it worked with the products
of other leading SIP vendors.
The SIP Express Router enables a flexible
plug-in model for new applications: Third parties can easily link
their plug-ins with the server code and provide thereby advanced
and customized services. In this way, plug-ins such as RADIUS
accounting, SMS gateway, ENUM queries, or presence agent have
already been developed and are provided as advanced features. Other
modules are underway: firewall control, postgres and LDAP database
drivers and more.
Its performance and robustness allows it to serve millions of users
and accommodate needs of very large operators. With a $3000
dual-CPU PC, the SIP Express Router is able to
power IP telephony services in an area as large
as the Bay Area during peak hours. Even on an IPAQ
PDA, the server withstands 150 calls per second
(CPS)! The server has been powering our
iptel.org free SIP site withstanding heavy daily
load that is further increasing with the popularity of Microsoft's
Windows Messenger.
The SIP Express Router is extremely configurable
to allow the creation of various routing and admission policies as
well as setting up new and customized services. Its configurability
allows it to serve many roles: network security barrier,
application server, or PSTN gateway guard for
example.
ser can be also
used with contributed applications. Currently,
serweb, a
ser web interface,
SIPSak diagnostic tool
and
SEMS media server
are available. Visit our site,
http://www.iptel.org/,
for more information on contributed packages.
About iptel.org
iptel.org is a know-how organization spun off from Germany's
national research company FhG Fokus. One of the first
SIP implementations ever, low-QoS enhancements,
interoperability tests and VoIP-capable firewall control concepts
are examples of well-known FhG's work.
iptel.org continues to keep this know-how leadership in
SIP. The access rate of the company's site, a
well-known source of technological information, is a best proof of
interest. Thousands of hits come every day from the whole Internet.
The iptel.org site, powered by SER, offers SIP services on the public
Internet. Feel free to apply for a free SIP account at
http://www.iptel.org/user/
Feature List
Based on the latest standards, the SIP Express
Router (SER) includes support for registrar,
proxy and redirect mode. Further it acts as an application server
with support for instant messaging and presence including a
2G/SMS and Jabber gateway, a call control policy
language, call number translation, private dial plans and
accounting, ENUM, authorization and authentication
(AAA) services. SER
runs on Sun/Solaris, PC/Linux, PC/BSD, IPAQ/Linux platforms and
supports both IPv4 and IPv6.
Hosting multiple domains and database redundancy is supported.
ser has been carefully engineered with
the following design objectives in mind:
Speed - With
ser, thousands of calls per
seconds are achievable even on low-cost platforms. This
competitive capacity allows setting up networks which
are inexpensive and easy to manage due to low number of
devices required. The processing capacity makes dealing
with many stress factors easier. The stress factors may
include but are not limited to broken configurations
and implementations, boot avalanches on power-up,
high-traffic applications such as presence, redundancy
replications and denial-of-service attacks.
The speed has been achieved by extensive code
optimization, use of customized code, ANSI
C combined with assembly instructions and
leveraging latest SIP
improvements. When powered by a dual-CPU Linux PC,
ser is able to process
thousands of calls per second, capacity needed to serve
call signaling demands of Bay Area population.
Flexibility -
SER allows its users to
define its behavior. Administrators may write textual
scripts which determine SIP routing
decisions, the main job of a proxy server. They may use
the script to configure numerous parameters and
introduce additional logic. For example, the scripts
can determine for which destinations record routing
should be performed, who will be authenticated, which
transactions should be processed statefully, which
requests will be proxied or redirected, etc.
Extensibility -
SER's extensibility allows
linking of new C code to ser to redefine or extend its
logic. The new code can be developed independently on
SER core and linked to it in
run-time. The concept is similar to the module concept
known for example in Apache Web server. Even such
essential parts such as transaction management have
been developed as modules to keep the
SER core compact and fast.
Portability.
ser has been written in ANSI
C. It has been extensively tested on PC/Linux and
Sun/Solaris. Ports to BSD and IPAQ/Linux exist.
Interoperability.
ser is based on the open
SIP standard. It has undergone
extensive tests with products of other vendors both in
iptel.org labs and in the SIP Interoperability Tests
(SIPIT). ser powers the
public iptel.org site 24 hours a day, 356 days a year
serving numerous SIP implementations using this site.
Small size.
Footprint of the core is 300k, add-on modules take up to 630k.
Use Cases
This section illustrates the most frequent uses of SIP. In all
these scenarios, the SIP Express Router (SER) can be easily
deployed as the glue connecting all SIP components together, be it
soft-phones, hard-phones, PSTN gateways or any other SIP-compliant
devices.
Added-Value ISP Services
To attract customers, ISPs frequently offer applications
bundled with IP access. With SIP, the providers can
conveniently offer a variety of services running on top of a
single infrastructure. Particularly, deploying VoIP and instant
messaging and presence services is as easy as setting up a SIP
server and guiding customers to use Windows
Messenger. Additionally, the ISPs may offer advanced services
such as PSTN termination, user-driven call handling or unified
messaging all using the same infrastructure.
SIP Express Router has been engineered to power large scale
networks: its capacity can deal with large number of customers
under high load caused by modern applications. Premium
performance allows deploying a low number of boxes while
keeping investments and operational expenses extremely
low. ISPs can offer SIP-based instant messaging services and
interface them to other instant messaging systems (Jabber,
SMS). VoIP can be easily integrated along with added-value
services, such as voicemail.
PC2Phone
Internet Telephony Service Providers (ITSPs) offer the service
of interconnecting Internet telephony users using PC softphone
or appliances to PSTN. Particularly with long-distance and
international calls, competitive pricing can be achieved by
routing the calls over the Internet.
SIP Express Router can be easily configured to serve pc2phone
users, distribute calls to geographically appropriate PSTN
gateway, act as a security barrier and keep track of charging.
PBX Replacement
Replacing a traditional PBX in an enterprise can achieve
reasonable savings. Enterprises can deploy a single
infrastructure for both voice and data and bridge distant
locations over the Internet. Additionally, they can benefit of
integration of voice and data.
The SIP Express Router scales from SOHOs to large,
international enterprises. Even a single installation on a
common PC is able to serve VoIP signaling of any world's
enterprise. Its policy-based routing language makes
implementation of numbering plans of companies spread across
the world very easy. ACL features allow for protection of PSTN
gateway from unauthorized callers.
SIP Express Router's support for programmable routing and
accounting efficiently allows for implementation of such a
scenario.
About SIP Technology
The SIP protocol family is the technology which integrates
services. With SIP, Internet users can easily contact each other;
figure out willingness to have a conversation and couple different
applications such as VoIP, video and instant messaging. Integration
with added-value services is seamless and easy. Examples include
integration with web (click-to-dial), E-mail (voice2email, UMS),
and PSTN-like services (conditional forwarding).
The core piece of the technology is the Session Initiation Protocol
(SIP, RFC3261) standardized by IETF. Its main function is to
establish communication sessions between users connected to the
public Internet and identified by e-mail-like addresses. One of
SIP's greatest features is its transparent support for multiple
applications: the same infrastructure may be used for voice, video,
gaming or instant messaging as well as any other communication
application.
There are numerous scenarios in which SIP is already deployed: PBX
replacement allows for deployment of single inexpensive
infrastructure in enterprises; PC-2-phone long-distance services
(e.g., Deltathree) cut callers long-distance expenses; instant
messaging offered by public severs (e.g., iptel.org) combines voice
and text services with presence information. New deployment
scenarios are underway: SIP is a part of UMTS networks and research
publications suggest the use of SIP for virtual home environments
or distributed network games.
Known SER Limitations
The following items are not part of current distribution and are
planned for next releases:
Script processing of multiple branches on forking
ser's request processing
language allows to make request decisions based on
current URI. When a request if forked to multiple
destinations, only the first branch's URI is used
as input for script processing. This might lead to
unexpected results. Whenever a URI resolves to
multiple different next-hop URIs, only the first is
processed which may result in handling not
appropriate for the other branch. For example, a
URI might resolve to an IP phone SIP address and
PSTN gateway SIP address. If the IP phone address
is the first, then script execution ignores the
second branch. If a script includes checking
gateway address in request URI, the checks never
match. That might result in ignoring of gateway
admission control rules or applying them
unnecessarily to non-gateway destinations.
List of known problems is publicly available at the
ser webpage at
http://www.iptel.org/ser/
. See the "ISSUES" link.
Licensing
ser is freely available under terms and
conditions of the GNU General Public License.
Obtaining Technical Assistance
iptel.org offers qualified professional services. We help you to
plan your network, configure your server, build applications,
integrate SIP components with each other, and set up advanced
features such as redundancy, multidomain support, CLID interworking
and others not described in this document. Our customer alert
services notifies you on all new features and code fixes. We help
you to solve operational troubles in short time and keep you
updated on latest operational practices. Ask info@iptel.org for
information on enrollment in our support program.
Additionally, help may be obtained from our user forum. The
community of SER users is subscribed to
the serusers@iptel.org mailing list and discusses issues related to
SER operation.
Mailing List Instructions
Public archives and subscription form:
http://mail.iptel.org/mailman/listinfo/serusers
To post, send an email to serusers@iptel.org
If you think you encountered an error, please submit the
following information to avoid unnecessary round-trip
times:
Name and version of your operating system --
you can obtain it by calling uname
-a
ser distribution:
release number and package
ser build --
you can obtain it by calling
ser -V
Your ser configuration file
ser logs -- with
default settings few logs are printed to
syslog facility which
typically dumps them to
/var/log/messages. To
enable detailed logs dumped to
stderr, apply the
following configuration options:
debug=8, log_stderror=yes, fork=no.
Captured SIP messages -- you can obtain them
using tools such as ngrep
or ethereal.
More Information
Most up-to-date information including latest and most complete
version of this documentation is always available at our website,
http://www.iptel.org/ser/.
The site includes links to other important information about
ser, such as installation guidelines
(INSTALL), download links, development pages, programmer's manual,
etc.
A SIP tutorial (slide set) is available at
http://www.iptel.org/sip/ .