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.
kamailio/doc/tutorials/seruser/general.xml

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 -->