aa5115fa6380b7b85e3154e81837bf6337fbbb0c
[sip-router] / doc / seruser / general.sgml
1     <chapter id="general">
2         <title>General Information</title>
3         <section id="aboutser">
4             <title>About <acronym>SIP</acronym> Express Router (<acronym>SER</acronym>)</title>
5             <para>
6                 SIP Express Router (<acronym>SER</acronym>) is an industrial-strength, free VoIP 
7                 server based on the Session Initiation Protocol (<acronym>SIP</acronym>, RFC3261). 
8                 It is engineered to power <acronym>IP</acronym> telephony infrastructures up to large 
9                 scale. The server keeps track of users, sets up VoIP sessions, 
10                 relays instant messages and creates space for new plug-in applications. 
11                 Its proven interoperability guarantees seamless integration with 
12                 components from other vendors, eliminating the risk of a single-vendor 
13                 trap. It has successfully participated in various interoperability 
14                 tests in which it worked with the products of other leading <acronym>SIP</acronym> vendors.
15             </para>
16             <para>
17                 The <acronym>SIP</acronym> Express Router enables a flexible plug-in model for new 
18                 applications: Third parties can easily link their plug-ins with 
19                 the server code and provide thereby advanced and customized services. 
20                 In this way, plug-ins such as RADIUS accounting,
21                 SMS gateway, ENUM queries, or presence agent have already been developed and are provided as 
22                 advanced features. Other modules are underway: 
23                 firewall control, postgress and LDAP database drivers and more.
24             </para>
25             <para>
26                 Its performance and robustness allows it to serve millions of users 
27                 and accommodate needs of very large operators. With a $3000 dual-CPU PC, the 
28                 <acronym>SIP</acronym> Express Router is able to power <acronym>IP</acronym> telephony services in an area 
29                 as large as the Bay Area during peak hours. Even on an IPAQ <acronym>PDA</acronym>, the server 
30                 withstands 150 calls per second (<acronym>CPS</acronym>)! The server has been powering our 
31                 iptel.org free <acronym>SIP</acronym> site withstanding heavy daily load that is further 
32                 increasing with the popularity of Microsoft's Windows Messenger.  
33             </para>
34             <para>
35                 The <acronym>SIP</acronym> Express Router is extremely configurable to allow the creation of 
36                 various routing and admission policies as well as setting up new and 
37                 customized services. Its configurability allows it to serve many roles: 
38                 network security barrier, application server, or <acronym>PSTN</acronym> gateway guard for 
39                 example.
40             </para>
41             <para>
42                 <application moreinfo="none">ser</application> can be also
43                 used with contributed applications. Currently, 
44                 <application moreinfo="none">serweb</application>, a
45                 <application moreinfo="none">ser</application> web interface,
46                 <application moreinfo="none">SIPSak</application> diagnostic tool 
47                 and 
48                 <application>SEMS</application> media server
49                 are available. Visit our site, 
50                 <ulink url="http://www.iptel.org/">http://www.iptel.org/</ulink>, 
51                 for more information on contributed packages.
52             </para>
53         </section> 
54
55         <section id="aboutiptel">
56             <title>About iptel.org</title>
57             <para>
58                 iptel.org is a know-how organization spun off from Germany's national 
59                 research company FhG Fokus. One of the first <acronym>SIP</acronym> implementations ever, 
60                 low-QoS enhancements, interoperability tests and VoIP-capable firewall 
61                 control concepts are examples of well-known FhG's work.
62             </para>
63             <para>
64                 iptel.org continues to keep this know-how leadership in <acronym>SIP</acronym>. 
65                 The access rate of the company's site, a well-known source of 
66                 technological information, is a best proof of interest. Thousands 
67                 of hits come every day from the whole Internet.
68             </para>
69             <para>
70                 The iptel.org site, powered by SER, offers SIP services on the public 
71                 Internet. Feel free to apply for a free SIP account at
72                 <ulink url="http://www.iptel.org/user/">http://www.iptel.org/user/
73                 </ulink>
74             </para>
75
76             
77         </section> <!-- iptel -->
78         <section id="serfeatures">
79             <title>Feature List</title>
80             <para>
81                 Based on the latest standards, the <acronym>SIP</acronym> Express Router (<acronym>SER</acronym>) includes 
82                 support for registrar, proxy and redirect mode. Further it acts as 
83                 an application server with support for instant messaging and 
84                 presence including a <acronym>2G/SMS</acronym> and Jabber gateway, a call control policy 
85                 language, call number translation, private dial plans and accounting, ENUM,
86                 authorization and authentication (<acronym>AAA</acronym>) services. <application>SER</application> runs on Sun/Solaris, 
87                 PC/Linux, PC/BSD, IPAQ/Linux platforms and supports  both <acronym>IPv4</acronym> and <acronym>IPv6</acronym>. 
88                 Hosting multiple domains and database redundancy is supported.
89             </para>
90             <para>
91                 <application>ser</application> has been carefully engineered with the following 
92                 design objectives in mind:
93                 <itemizedlist>
94                     <listitem>
95                         <para>
96                             <emphasis>Speed</emphasis> - With <application>ser</application>, 
97                             thousands of calls per seconds are achievable 
98                             even on low-cost platforms. This competitive capacity allows 
99                             setting up networks which are inexpensive and easy to manage 
100                             due to low number of devices required. The processing capacity 
101                             makes dealing with many stress factors easier. The stress
102                             factors may include but are not limited to broken configurations and implementations,
103                             boot avalanches on power-up, high-traffic applications such as presence, 
104                             redundancy replications and denial-of-service attacks.
105                         </para>
106                         <para> The speed has been achieved by extensive code optimization, use of customized code, 
107                             <acronym>ANSI C</acronym> combined with assembly instructions and leveraging latest 
108                             <acronym>SIP</acronym> improvements. When powered by a dual-CPU Linux PC, 
109                             <application>ser</application> is able to process thousands of calls per second,
110                             capacity needed to serve call signaling demands of Bay Area population.
111                            
112                         </para>
113                     </listitem>
114                     <listitem>
115                         <para>
116                             <emphasis>Flexibility</emphasis> - <application>SER</application> allows its users 
117                             to define its behavior. 
118                             Administrators may write textual scripts which determine <acronym>SIP</acronym> routing 
119                             decisions, the main job of a proxy server. They may use the script to 
120                             configure numerous parameters and introduce additional logic. For example, 
121                             the scripts can determine for which destinations record routing should be 
122                             performed, who will be authenticated, which transactions should be processed 
123                             statefully, which requests will be proxied or redirected, etc.
124                         </para>
125
126                     </listitem>
127                     <listitem>
128                         <para>
129                             <emphasis>Extensibility</emphasis> - <application>SER</application>'s extensibility allows linking of 
130                             new C code to ser to 
131                             redefine or extend its logic. The new code can be developed independently 
132                             on <application>SER</application> core and linked to it in run-time. The concept is similar to 
133                             the module concept known for example in Apache Web server. Even such essential parts such 
134                             as transaction management have been developed as modules to keep the <application>SER</application> core 
135                             compact and fast.
136                         </para>
137                     </listitem>
138                     <listitem>
139                         <para>
140                             <emphasis>
141                                 Portability.
142                             </emphasis>
143                             <application>ser</application> has been written in ANSI C. It has been extensively tested 
144                             on PC/Linux and Sun/Solaris. Ports to BSD and IPAQ/Linux exist.
145                         </para>
146                     </listitem>
147                     <listitem>
148                         <para>
149                             <emphasis>                     
150                                 Interoperability. 
151                         </emphasis>
152                         <application>ser</application> is based on the open <acronym>SIP</acronym> standard. 
153                             It has undergone extensive tests with products of other vendors both in iptel.org
154                             labs and in the SIP Interoperability Tests (SIPIT). <application>ser</application> 
155                             powers the public iptel.org site 24 hours a day, 356 days a year 
156                             serving numerous SIP implementations using this site.
157                         </para>
158                     </listitem>
159                     <listitem>
160                         <para>
161                             <emphasis>Small size.</emphasis>
162                             Footprint of the core is 300k, add-on modules take up to 630k.
163                         </para>
164                     </listitem>
165                 </itemizedlist>
166             </para>
167         </section> <!-- serfeatures -->
168
169         <section id="usecases">
170             <title>Use Cases</title>
171             <para>
172                 This section illustrates the most frequent uses of SIP. In all these scenarios, 
173                 the SIP Express Router (SER) can be easily deployed as the glue connecting all 
174                 SIP components together, be it soft-phones, hard-phones, PSTN gateways or any other 
175                 SIP-compliant devices.
176             </para>
177             <section>
178                 <title>Added-Value ISP Services</title>
179                 <para>
180                     To attract customers, ISPs frequently offer applications bundled with IP access. 
181                     With SIP, the providers can conveniently offer a variety of services running on top 
182                     of a single infrastructure. Particularly, deploying VoIP and instant messaging and 
183                     presence services is as easy as setting up a SIP server and guiding customers to use 
184                     Windows Messenger. Additionally, the ISPs may offer advanced services such as PSTN 
185                     termination, user-driven call handling or unified messaging all using the same infrastructure.
186                 </para>
187                 <para>
188                     SIP Express Router has been engineered to power large scale networks: its capacity can deal 
189                     with large number of customers under high load caused by modern applications. Premium 
190                     performance allows deploying a low number of boxes while keeping investments and operational 
191                     expenses extremely low. ISPs can offer SIP-based instant messaging services and interface
192                     them to other instant messaging systems (Jabber, SMS). VoIP can be easily integrated along
193                     with added-value services, such as voicemail.
194                 </para>
195             </section> <!-- Added-value ISP -->
196             <section>
197                 <title>PC2Phone</title>
198                 <para>
199                     Internet Telephony Service Providers (ITSPs) offer the service of interconnecting 
200                     Internet telephony users using PC softphone or appliances to PSTN. Particularly with 
201                     long-distance and international calls, competitive pricing can be achieved by 
202                     routing the calls over the Internet.
203                 </para>
204                 <para>
205                     SIP Express Router can be easily configured to serve pc2phone users, distribute
206                     calls to geographically appropriate PSTN gateway, act as a security barrier and keep 
207                     track of charging. 
208                 </para>
209             </section>
210             <section>
211                 <title>PBX Replacement</title>
212                 <para>
213                     Replacing a traditional PBX in an enterprise can achieve reasonable 
214                     savings. Enterprises can deploy a single infrastructure for both voice 
215                     and data and bridge distant locations over the Internet. Additionally, they can 
216                     benefit of integration of voice and data.
217                 </para>
218                 <para>
219                     The SIP Express Router scales from SOHOs to large, international enterprises. 
220                     Even a single installation on a common PC is able to serve VoIP signaling of any 
221                     world's enterprise. Its policy-based routing language makes implementation of numbering 
222                     plans of companies spread across the world very easy. ACL features allow for protection of 
223                     PSTN gateway from unauthorized callers.
224                 </para>
225                 <para>
226                     SIP Express Router's support for programmable routing and accounting efficiently allows for 
227                     implementation of such a scenario.
228                 </para>
229             </section>
230         </section> <!-- Use Cases -->
231         <section id="aboutsip">
232             <title>About SIP Technology</title>
233             <para>
234                 The SIP protocol family is the technology which integrates services. 
235                 With SIP, Internet users can easily contact each other; figure out 
236                 willingness to have a conversation and couple different applications such as VoIP, video 
237                 and instant messaging. Integration with added-value services is seamless and easy. Examples 
238                 include integration with web (click-to-dial), E-mail (voice2email, UMS), and PSTN-like 
239                 services (conditional forwarding).
240             </para>
241             <para>
242                 The core piece of the technology is the Session Initiation Protocol (SIP, RFC3261) standardized by IETF. 
243                 Its main function is to establish communication sessions between users connected to the public 
244                 Internet and identified by e-mail-like addresses. One of SIP's greatest features is its transparent 
245                 support for multiple applications: the same infrastructure may be used for voice, video, gaming 
246                 or instant messaging as well as any other communication application.
247             </para>
248             <para>
249                 There are numerous scenarios in which SIP is already deployed: PBX replacement allows for 
250                 deployment of single inexpensive infrastructure in enterprises; PC-2-phone long-distance 
251                 services (e.g., Deltathree) cut callers long-distance expenses; instant messaging offered 
252                 by public severs (e.g., iptel.org) combines voice and text services with presence information. 
253                 New deployment scenarios are underway: SIP is a part of UMTS networks and research publications 
254                 suggest the use of SIP for virtual home environments or distributed network games.
255             </para>
256         </section> <!-- about sip -->
257         <section id="serlimitations">
258             <title>Known SER Limitations</title>
259             <para>
260                 The following items are not part of current distribution and are planned for next releases:
261                 <itemizedlist>
262                     <listitem>
263                         <para>
264                             Script processing of multiple branches on forking
265                         </para>
266
267                         <warning>
268                             <para>
269                                 <application>ser</application>'s request processing language allows 
270                                 to make request decisions based on current URI. 
271                                 When a request if forked to multiple destinations, only the first branch's URI is used as 
272                                 input for script processing. This might lead to unexpected results. Whenever a URI resolves 
273                                 to multiple different next-hop URIs, only the first is processed which may result in handling 
274                                 not appropriate for the other branch. For example, a URI might resolve to an IP phone SIP 
275                                 address and PSTN gateway SIP address. If the IP phone address is the first, then script 
276                                 execution ignores the second branch. If a script includes checking gateway address in
277                                 request URI, the checks never match. That might result in ignoring of 
278                                 gateway admission control rules or applying them unnecessarily to non-gateway 
279                                 destinations.
280                             </para>
281                         </warning>
282                     </listitem>
283                 </itemizedlist>
284             </para>
285             <para>
286                 List of known problems is publicly available at the 
287                 <application>ser</application> webpage at
288                 <ulink url="http://www.iptel.org/ser/">
289                     http://www.iptel.org/ser/
290                 </ulink>. See the "ISSUES" link.
291             </para>
292         </section> <!-- limitations -->
293         <section id="licensing">
294             <title>Licensing</title>
295             <para>
296                 <application>ser</application> is freely available under terms and
297                 conditions of the GNU General Public License.
298             </para>     
299             <!-- COPYING -->
300             <screen>
301                     &gpllicense;
302             </screen>
303             
304         </section>
305         <section id="support">
306             <title>Obtaining Technical Assistance</title>
307                 <para>
308                         iptel.org offers qualified professional services. We help you to 
309                         plan your network, configure your server, build applications, 
310                         integrate SIP components with each other, and set up advanced features
311                         such as redundancy, multidomain support, CLID interworking and others
312                         not described in this document. Our customer alert services
313                         notifies you on all new features and code fixes. We help you to
314                         solve operational troubles in short time and keep you updated on
315                         latest operational practices. Ask info@iptel.org for
316                         information on enrollment in our support program.
317                 </para>
318
319             <para>
320                 Additionaly, help may be obtained from our user forum. The community
321                 of <application>SER</application> users is subscribed to the
322                 serusers@iptel.org mailing list and discusses issues related to
323                 <application>SER</application> operation.
324             </para>
325             <itemizedlist>
326                 <title>Mailing List Instructions</title>
327                 <listitem>
328                     <para>
329                         Public archives and subscription form:
330                         <ulink url="http://mail.iptel.org/mailman/listinfo/serusers">
331                             http://mail.iptel.org/mailman/listinfo/serusers
332                         </ulink>                        
333                     </para>
334                 </listitem>
335                 <listitem>
336                     <para>
337                         To post, send an email to serusers@iptel.org
338                     </para>
339                 </listitem>
340                 <listitem>
341                     <para>
342                         If you think you encountered an error, please submit the
343                         following information to avoid unnecessary round-trip times:                    
344                         <itemizedlist>
345                             <listitem>
346                                 <para>
347                                     Name and version of your operating system --
348                                     you can obtain it by calling
349                                     <command>uname -a</command>
350                                 </para>
351                             </listitem>
352                             <listitem>
353                                 <para>
354                                     <application>ser</application> distribution: 
355                                     release number and package                              
356                                 </para>
357                             </listitem>
358                             <listitem>
359                                 <para>
360                                     <application>ser</application> build -- 
361                                     you can obtain it by calling 
362                                     <command moreinfo="none">ser -V</command>
363                                 </para>
364                             </listitem>
365                             <listitem>
366                                 <para>
367                                     Your <application>ser</application> configuration file
368                                 </para>
369                             </listitem>
370                             <listitem>
371                                 <para>
372                                     <application>ser</application> logs -- with default settings
373                                     few logs are printed to <command>syslog</command> facility which
374                                     typically dumps them to 
375                                     <filename moreinfo="none">/var/log/messages</filename>. To 
376                                     enable detailed logs dumped to <filename>stderr</filename>,
377                                     apply the following configuration options: <command moreinfo="none">
378                                     debug=8, log_stderror=yes, fork=no</command>.
379                                 </para>
380                             </listitem>
381                             <listitem>
382                                 <para>
383                                     Captured SIP messages -- you can obtain them 
384                                     using tools such as <application>ngrep</application>
385                                     or <application moreinfo="none">ethereal</application>.
386                                 </para>
387                             </listitem>
388                         </itemizedlist>
389                     </para>
390                     
391                 </listitem>
392             </itemizedlist>         
393         
394             <para>
395                 If you are concerned about your privacy and do not wish your
396                 queries to be posted and archived publicly, you may post to
397                 serhelp@iptel.org. E-mails to this address are only forwarded
398                 to iptel.org's <application>ser</application> development team.
399                 However, as the team is quite busy you should not be surprised
400                 to get replies with considerable delay.
401
402             </para>
403         </section>
404         
405         <section id="moreinfo">
406             <title>More Information</title>
407             <para>
408                 Most up-to-date information including latest and most complete version
409                 of this documentation is always available at our website,
410                 <ulink url="http://www.iptel.org/ser/">http://www.iptel.org/ser/</ulink>.
411                 The site includes links to other important information about
412                 <application moreinfo="none">ser</application>, such
413                 as installation guidelines (INSTALL), download links,
414                 development pages, programmer's manual, etc.
415             </para>
416             <para>
417                 A SIP tutorial (slide set) is available at 
418                 <ulink url="http://www.iptel.org/sip/">http://www.iptel.org/sip/</ulink> .
419             </para>
420         </section> <!-- info -->
421
422         <section>
423             <title>Release Notes</title>
424             <literallayout format="linespecific" class="normal">
425 &releasenotes;
426             </literallayout>
427         </section> <!-- release notes -->
428
429
430     </chapter> <!-- general -->