general.xml 19 KB

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