README
a2a334f1
 
           +------------------------------------+
           | SIP express media server  - README |
           +------------------------------------+
 
 
 Introduction:
 
df0669d4
  SEMS is a extensible media server which helps you
a2a334f1
  adding voice services to your VoIP system.
 
  Each module or plug-in extends your system. Audio
  plug-ins enable new codecs and file format whereby 
73fc7056
  application plug-ins implement the service's logic.
9b8725f7
  Some modules called component modules provide 
  functionality for other modules to use.
a2a334f1
 
df0669d4
  You can easely extend SEMS by creating your own plug-ins.
a2a334f1
 
df0669d4
  Applications can be written using the SEMS framework API 
9b8725f7
  in C++, or in Python using an embedded python interpreter 
  of the ivr or py_sems plugins.
 
df0669d4
  The following default applications are shipped with SEMS :
a2a334f1
 
73fc7056
  * voicemail: records voice messages and mails them as email
a2a334f1
 
8dd0b049
  * conferencing: enables many people to talk together
73fc7056
                  at the same time
a2a334f1
 
73fc7056
  * announcement: plays an announcement
8dd0b049
 
73fc7056
  * echo: test module echoing your voice
8dd0b049
  
  * mailbox: saves voicemails into an IMAP server. Users 
             can dial in to check their messages
 
73fc7056
  * ann_b2b: pre-call-announcement, plays an announcement before 
 		    connecting the callee in b2bua mode
 
  * announce_transfer: pre-call-announcement, plays an announcement 
9b8725f7
             and then transfers the caller to the callee using REFER
73fc7056
 
  * early_announce: pre-call announcement using early media (183)
a2a334f1
 
8dd0b049
  * conf_auth: collect a PIN number, verify it against an 
               XMLRPC authentication server and connect in b2bua mode
a2a334f1
 
9b8725f7
  * pin_collect: collect a PIN, optionally verify it, and transfer the call
a2a334f1
 
df0669d4
  SEMS only support patent free codecs. Which means that we won't support codecs
8dd0b049
  like g729. On the other hand, we have support for all important patent free
  (g711u, g711a, GSM06.10 and iLBC).
a2a334f1
 
 Requirements:
 
8dd0b049
  1. Ser version 0.9.6: SIP Epress Router (www.iptel.org/ser)
a2a334f1
 
df0669d4
     - SEMS requires Ser as its SIP stack. 
     - SEMS & Ser communicate together through socket, which means that a Ser
       instance is mandatory on every host using SEMS.
a2a334f1
 
8dd0b049
  2. Python version >= 2.3 for the ivr (embedded python interpreter), optional
a2a334f1
 
8dd0b049
  3. flite speech synthesizer for TTS in the ivr, optional
a2a334f1
 
8dd0b049
  4. lame >= 3.95 for mp3 file output, optional
a2a334f1
 
df0669d4
 How to get started with SEMS:
 
   To try out SEMS, the easiest is to follow one of the tutorials linked from
   the SEMS homepage (e.g. http://www.iptel.org/howto_sems_voicemail). The
   Application Modules Documentation page then gives an overview of the 
   application modules that come with SEMS 
   (http://ftp.iptel.org/pub/sems/doc/current/AppDoc.html).
   
   If you are interested in writing your own applications, the application 
   development tutorial is a good start 
   (http://www.iptel.org/howto/sems_application_development_tutorial), together
   with the design overview (http://www.iptel.org/files/semsng-designoverview.pdf).
   
8dd0b049
 Installation:
a2a334f1
 
df0669d4
  1. Download SEMS through svn:
8dd0b049
     svn checkout svn://svn.berlios.de/sems/trunk
       -or-
     svn checkout http://svn.berlios.de/svnroot/repos/sems/trunk 
a2a334f1
 
df0669d4
  2. Compile SEMS:
a2a334f1
 
       make all
       make install
 
df0669d4
     Notice: you don't need to execute 'make install' if you want to run SEMS
a2a334f1
             from the source tree.
8dd0b049
      
cb0a8e04
     For detailed instructions, have a look at doc/COMPILING as well.
a2a334f1
 
8dd0b049
  3. Look at the default configuration file whether it fits your need:
a2a334f1
 
df0669d4
       If you installed SEMS with 'make install', the configuration
8dd0b049
       is at '/usr/local/etc/sems/sems.conf'. 
       Else make your own using sems.conf.sample.
a2a334f1
 
  4. Start Ser: 
 
df0669d4
       Please read the Ser User's guide and doc/Configure-SEMS-Ser-HOWTO
73fc7056
       if you don't known how to complete this stage, 
a2a334f1
 
df0669d4
  5. Start SEMS:
a2a334f1
 
df0669d4
       If you installed SEMS with 'make install', sems can be
a2a334f1
       found at '/usr/local/sbin/sems'.
       If you need help starting 'sems', try 'sems -h'.
 
 
 Troubleshooting:
 
  * RH thread problem:
 
df0669d4
   SEMS has currently problems being run on Redhat 9. If you cannot wait 
a2a334f1
   until it is fixed, you may want to run ans_machine after running the
   following command:
 
   export LD_ASSUME_KERNEL=2.4.1
 
   This disables the new pthread implementation included in Redhat 9.
 
 
 Installed file using 'make install':
 
73fc7056
     /usr/local/sbin/sems                 : SEMS executable
     /usr/local/lib/sems/plug-in/*        : plug-ins
     /usr/local/lib/sems/audio/*          : default path for audio files
8dd0b049
     /usr/local/lib/sems/ivr/*            : precompiled IVR scripts
73fc7056
     /usr/local/etc/sems/sems.conf        : configuration file
     /usr/local/etc/sems/etc/*            : modules configuration files
a2a334f1
     /usr/local/share/doc/sems/README     : this README.
 
     source_path/scripts/sems[.redhat]    : example start-up scripts.
     source_path/sems.conf.example        : example configuration file.
 
df0669d4
 Documentation:
 
   In the doc/ directory there is a set of files describing the applications
   shipped with SEMS, alongside some more documentation. With 'make doc' you 
   can generate the doxygen documentation in doc/doxygen_doc, which contains 
   these files as well.
 
   All documentation is available online linked from the SEMS homepage: 
   www.iptel.org/sems.
   
a2a334f1
 
 Bug report & Contact:
 
df0669d4
   If you have problems configuring Ser&SEMS for your needs,
8dd0b049
   look at the support information on the Ser homepage (www.iptel.org/ser)
73fc7056
   and the SEMS homepage (www.iptel.org/sems).
8dd0b049
   The mailing lists (http://lists.iptel.org) for SEMS are the first 
df0669d4
   address to ask for help, report bugs and improvements. You need to be 
   subscribed to be able to post to the lists.
a2a334f1
 
 Authors:
 
9b8725f7
   Raphael Coeffic (rco@iptel.org),
8dd0b049
   Stefan Sayer (stefan.sayer@iptego.de)
a2a334f1
 
8dd0b049
   and all contributors.
a2a334f1
 
 Thanks goes to:
 
   * Ulrich Abend (ullstar@iptel.org)
73fc7056
       for his great debuging work and ISDN gateway which 
       unfortunately did not make it into this version yet.
a2a334f1
 
   * Jiri Kuthan (jiri@iptel.org)
       for the debuging work and help to implement
df0669d4
       communicating part between Ser & SEMS ('vm' module).
a2a334f1
 
   * All the others who helped during test session :-)