mirror of https://github.com/sipwise/kamailio.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
483 lines
19 KiB
483 lines
19 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
|
|
|
<section id="general" xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
<sectioninfo>
|
|
<revhistory>
|
|
<revision>
|
|
<revnumber>$Revision$</revnumber>
|
|
<date>$Date$</date>
|
|
</revision>
|
|
</revhistory>
|
|
</sectioninfo>
|
|
|
|
<title>General Information</title>
|
|
<section id="aboutser">
|
|
<title>About <acronym>SIP</acronym> Express Router (<acronym>SER</acronym>)</title>
|
|
<para>
|
|
SIP Express Router (<acronym>SER</acronym>) is an
|
|
industrial-strength, free VoIP server based on the Session
|
|
Initiation Protocol (<acronym>SIP</acronym>, RFC3261). It is
|
|
engineered to power <acronym>IP</acronym> 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 <acronym>SIP</acronym> vendors.
|
|
</para>
|
|
<para>
|
|
The <acronym>SIP</acronym> 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.
|
|
</para>
|
|
<para>
|
|
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 <acronym>SIP</acronym> Express Router is able to
|
|
power <acronym>IP</acronym> telephony services in an area as large
|
|
as the Bay Area during peak hours. Even on an IPAQ
|
|
<acronym>PDA</acronym>, the server withstands 150 calls per second
|
|
(<acronym>CPS</acronym>)! The server has been powering our
|
|
iptel.org free <acronym>SIP</acronym> site withstanding heavy daily
|
|
load that is further increasing with the popularity of Microsoft's
|
|
Windows Messenger.
|
|
</para>
|
|
<para>
|
|
The <acronym>SIP</acronym> 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 <acronym>PSTN</acronym> gateway guard for
|
|
example.
|
|
</para>
|
|
<para>
|
|
<application>ser</application> can be also
|
|
used with contributed applications. Currently,
|
|
<application>serweb</application>, a
|
|
<application>ser</application> web interface,
|
|
<application>SIPSak</application> diagnostic tool
|
|
and
|
|
<application>SEMS</application> media server
|
|
are available. Visit our site,
|
|
<ulink url="http://www.iptel.org/">http://www.iptel.org/</ulink>,
|
|
for more information on contributed packages.
|
|
</para>
|
|
</section>
|
|
|
|
<section id="aboutiptel">
|
|
<title>About iptel.org</title>
|
|
<para>
|
|
iptel.org is a know-how organization spun off from Germany's
|
|
national research company FhG Fokus. One of the first
|
|
<acronym>SIP</acronym> implementations ever, low-QoS enhancements,
|
|
interoperability tests and VoIP-capable firewall control concepts
|
|
are examples of well-known FhG's work.
|
|
</para>
|
|
<para>
|
|
iptel.org continues to keep this know-how leadership in
|
|
<acronym>SIP</acronym>. 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.
|
|
</para>
|
|
<para>
|
|
The iptel.org site, powered by SER, offers SIP services on the public
|
|
Internet. Feel free to apply for a free SIP account at
|
|
<ulink url="http://www.iptel.org/user/">http://www.iptel.org/user/
|
|
</ulink>
|
|
</para>
|
|
|
|
</section> <!-- iptel -->
|
|
<section id="serfeatures">
|
|
<title>Feature List</title>
|
|
<para>
|
|
Based on the latest standards, the <acronym>SIP</acronym> Express
|
|
Router (<acronym>SER</acronym>) includes support for registrar,
|
|
proxy and redirect mode. Further it acts as an application server
|
|
with support for instant messaging and presence including a
|
|
<acronym>2G/SMS</acronym> and Jabber gateway, a call control policy
|
|
language, call number translation, private dial plans and
|
|
accounting, ENUM, authorization and authentication
|
|
(<acronym>AAA</acronym>) services. <application>SER</application>
|
|
runs on Sun/Solaris, PC/Linux, PC/BSD, IPAQ/Linux platforms and
|
|
supports both <acronym>IPv4</acronym> and <acronym>IPv6</acronym>.
|
|
Hosting multiple domains and database redundancy is supported.
|
|
</para>
|
|
<para>
|
|
<application>ser</application> has been carefully engineered with
|
|
the following design objectives in mind:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<emphasis>Speed</emphasis> - With
|
|
<application>ser</application>, 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.
|
|
</para>
|
|
<para> The speed has been achieved by extensive code
|
|
optimization, use of customized code, <acronym>ANSI
|
|
C</acronym> combined with assembly instructions and
|
|
leveraging latest <acronym>SIP</acronym>
|
|
improvements. When powered by a dual-CPU Linux PC,
|
|
<application>ser</application> is able to process
|
|
thousands of calls per second, capacity needed to serve
|
|
call signaling demands of Bay Area population.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<emphasis>Flexibility</emphasis> -
|
|
<application>SER</application> allows its users to
|
|
define its behavior. Administrators may write textual
|
|
scripts which determine <acronym>SIP</acronym> 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.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<emphasis>Extensibility</emphasis> -
|
|
<application>SER</application>'s extensibility allows
|
|
linking of new C code to ser to redefine or extend its
|
|
logic. The new code can be developed independently on
|
|
<application>SER</application> 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
|
|
<application>SER</application> core compact and fast.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<emphasis>
|
|
Portability.
|
|
</emphasis>
|
|
<application>ser</application> has been written in ANSI
|
|
C. It has been extensively tested on PC/Linux and
|
|
Sun/Solaris. Ports to BSD and IPAQ/Linux exist.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<emphasis>
|
|
Interoperability.
|
|
</emphasis>
|
|
<application>ser</application> is based on the open
|
|
<acronym>SIP</acronym> standard. It has undergone
|
|
extensive tests with products of other vendors both in
|
|
iptel.org labs and in the SIP Interoperability Tests
|
|
(SIPIT). <application>ser</application> powers the
|
|
public iptel.org site 24 hours a day, 356 days a year
|
|
serving numerous SIP implementations using this site.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<emphasis>Small size.</emphasis>
|
|
Footprint of the core is 300k, add-on modules take up to 630k.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</section> <!-- serfeatures -->
|
|
|
|
<section id="usecases">
|
|
<title>Use Cases</title>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<section>
|
|
<title>Added-Value ISP Services</title>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</section> <!-- Added-value ISP -->
|
|
<section>
|
|
<title>PC2Phone</title>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</section>
|
|
<section>
|
|
<title>PBX Replacement</title>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
SIP Express Router's support for programmable routing and
|
|
accounting efficiently allows for implementation of such a
|
|
scenario.
|
|
</para>
|
|
</section>
|
|
</section> <!-- Use Cases -->
|
|
<section id="aboutsip">
|
|
<title>About SIP Technology</title>
|
|
<para>
|
|
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).
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
</section> <!-- about sip -->
|
|
<section id="serlimitations">
|
|
<title>Known SER Limitations</title>
|
|
<para>
|
|
The following items are not part of current distribution and are
|
|
planned for next releases:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Script processing of multiple branches on forking
|
|
</para>
|
|
|
|
<warning>
|
|
<para>
|
|
<application>ser</application>'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.
|
|
</para>
|
|
</warning>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
<para>
|
|
List of known problems is publicly available at the
|
|
<application>ser</application> webpage at
|
|
<ulink url="http://www.iptel.org/ser/">
|
|
http://www.iptel.org/ser/
|
|
</ulink>. See the "ISSUES" link.
|
|
</para>
|
|
</section> <!-- limitations -->
|
|
<section id="licensing">
|
|
<title>Licensing</title>
|
|
<para>
|
|
<application>ser</application> is freely available under terms and
|
|
conditions of the GNU General Public License.
|
|
</para>
|
|
<!-- COPYING -->
|
|
<screen>
|
|
<xi:include href="../../COPYING" parse="text"/>
|
|
</screen>
|
|
</section>
|
|
|
|
<section id="support">
|
|
<title>Obtaining Technical Assistance</title>
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
<para>
|
|
Additionally, help may be obtained from our user forum. The
|
|
community of <application>SER</application> users is subscribed to
|
|
the serusers@iptel.org mailing list and discusses issues related to
|
|
<application>SER</application> operation.
|
|
</para>
|
|
<itemizedlist>
|
|
<title>Mailing List Instructions</title>
|
|
<listitem>
|
|
<para>
|
|
Public archives and subscription form:
|
|
<ulink url="http://mail.iptel.org/mailman/listinfo/serusers">
|
|
http://mail.iptel.org/mailman/listinfo/serusers
|
|
</ulink>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
To post, send an email to serusers@iptel.org
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
If you think you encountered an error, please submit the
|
|
following information to avoid unnecessary round-trip
|
|
times:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Name and version of your operating system --
|
|
you can obtain it by calling <command>uname
|
|
-a</command>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<application>ser</application> distribution:
|
|
release number and package
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<application>ser</application> build --
|
|
you can obtain it by calling
|
|
<command>ser -V</command>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Your <application>ser</application> configuration file
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<application>ser</application> logs -- with
|
|
default settings few logs are printed to
|
|
<command>syslog</command> facility which
|
|
typically dumps them to
|
|
<filename>/var/log/messages</filename>. To
|
|
enable detailed logs dumped to
|
|
<filename>stderr</filename>, apply the
|
|
following configuration options: <command>
|
|
debug=8, log_stderror=yes, fork=no</command>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Captured SIP messages -- you can obtain them
|
|
using tools such as <application>ngrep</application>
|
|
or <application>ethereal</application>.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
|
|
<section id="moreinfo">
|
|
<title>More Information</title>
|
|
<para>
|
|
Most up-to-date information including latest and most complete
|
|
version of this documentation is always available at our website,
|
|
<ulink
|
|
url="http://www.iptel.org/ser/">http://www.iptel.org/ser/</ulink>.
|
|
The site includes links to other important information about
|
|
<application>ser</application>, such as installation guidelines
|
|
(INSTALL), download links, development pages, programmer's manual,
|
|
etc.
|
|
</para>
|
|
<para>
|
|
A SIP tutorial (slide set) is available at
|
|
<ulink url="http://www.iptel.org/sip/">http://www.iptel.org/sip/</ulink> .
|
|
</para>
|
|
</section> <!-- info -->
|
|
|
|
<section>
|
|
<title>Release Notes</title>
|
|
<literallayout>
|
|
<xi:include href="../../NEWS" parse="text"/>
|
|
</literallayout>
|
|
</section> <!-- release notes -->
|
|
</section> <!-- general -->
|