mirror of https://github.com/sipwise/sems.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.
182 lines
5.9 KiB
182 lines
5.9 KiB
|
|
+------------------------------------+
|
|
| SIP express media server - README |
|
|
+------------------------------------+
|
|
|
|
|
|
Introduction:
|
|
|
|
SEMS is a extensible media server which helps you
|
|
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
|
|
application plug-ins implement the service's logic.
|
|
Some modules called component modules provide
|
|
functionality for other modules to use.
|
|
|
|
You can easely extend SEMS by creating your own plug-ins.
|
|
|
|
Applications can be written using the SEMS framework API
|
|
in C++, or in Python using an embedded python interpreter
|
|
of the ivr or py_sems plugins.
|
|
|
|
The following default applications are shipped with SEMS :
|
|
|
|
* voicemail: records voice messages and mails them as email
|
|
|
|
* conferencing: enables many people to talk together
|
|
at the same time
|
|
|
|
* announcement: plays an announcement
|
|
|
|
* echo: test module echoing your voice
|
|
|
|
* mailbox: saves voicemails into an IMAP server. Users
|
|
can dial in to check their messages
|
|
|
|
* ann_b2b: pre-call-announcement, plays an announcement before
|
|
connecting the callee in b2bua mode
|
|
|
|
* announce_transfer: pre-call-announcement, plays an announcement
|
|
and then transfers the caller to the callee using REFER
|
|
|
|
* early_announce: pre-call announcement using early media (183)
|
|
|
|
* conf_auth: collect a PIN number, verify it against an
|
|
XMLRPC authentication server and connect in b2bua mode
|
|
|
|
* pin_collect: collect a PIN, optionally verify it, and transfer the call
|
|
|
|
SEMS only support patent free codecs. Which means that we won't support codecs
|
|
like g729. On the other hand, we have support for all important patent free
|
|
(g711u, g711a, GSM06.10 and iLBC).
|
|
|
|
Requirements:
|
|
|
|
1. Ser version 0.9.6: SIP Epress Router (www.iptel.org/ser)
|
|
|
|
- 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.
|
|
|
|
2. Python version >= 2.3 for the ivr (embedded python interpreter), optional
|
|
|
|
3. flite speech synthesizer for TTS in the ivr, optional
|
|
|
|
4. lame >= 3.95 for mp3 file output, optional
|
|
|
|
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/sems/sems_application_development_tutorial), together
|
|
with the design overview (http://www.iptel.org/files/semsng-designoverview.pdf).
|
|
|
|
Installation:
|
|
|
|
1. Download SEMS through svn:
|
|
svn checkout svn://svn.berlios.de/sems/trunk
|
|
-or-
|
|
svn checkout http://svn.berlios.de/svnroot/repos/sems/trunk
|
|
|
|
2. Compile SEMS:
|
|
|
|
make all
|
|
make install
|
|
|
|
Notice: you don't need to execute 'make install' if you want to run SEMS
|
|
from the source tree.
|
|
|
|
For detailed instructions, have a look at doc/COMPILING as well.
|
|
|
|
3. Look at the default configuration file whether it fits your need:
|
|
|
|
If you installed SEMS with 'make install', the configuration
|
|
is at '/usr/local/etc/sems/sems.conf'.
|
|
Else make your own using sems.conf.sample.
|
|
|
|
4. Start Ser:
|
|
|
|
Please read the Ser User's guide and doc/Configure-SEMS-Ser-HOWTO
|
|
if you don't known how to complete this stage,
|
|
|
|
5. Start SEMS:
|
|
|
|
If you installed SEMS with 'make install', sems can be
|
|
found at '/usr/local/sbin/sems'.
|
|
If you need help starting 'sems', try 'sems -h'.
|
|
|
|
|
|
Troubleshooting:
|
|
|
|
* RH thread problem:
|
|
|
|
SEMS has currently problems being run on Redhat 9. If you cannot wait
|
|
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':
|
|
|
|
/usr/local/sbin/sems : SEMS executable
|
|
/usr/local/lib/sems/plug-in/* : plug-ins
|
|
/usr/local/lib/sems/audio/* : default path for audio files
|
|
/usr/local/lib/sems/ivr/* : precompiled IVR scripts
|
|
/usr/local/etc/sems/sems.conf : configuration file
|
|
/usr/local/etc/sems/etc/* : modules configuration files
|
|
/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.
|
|
|
|
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.
|
|
|
|
|
|
Bug report & Contact:
|
|
|
|
If you have problems configuring Ser&SEMS for your needs,
|
|
look at the support information on the Ser homepage (www.iptel.org/ser)
|
|
and the SEMS homepage (www.iptel.org/sems).
|
|
The mailing lists (http://lists.iptel.org) for SEMS are the first
|
|
address to ask for help, report bugs and improvements. You need to be
|
|
subscribed to be able to post to the lists.
|
|
|
|
Authors:
|
|
|
|
Raphael Coeffic (rco@iptel.org),
|
|
Stefan Sayer (stefan.sayer@iptego.de)
|
|
|
|
and all contributors.
|
|
|
|
Thanks goes to:
|
|
|
|
* Ulrich Abend (ullstar@iptel.org)
|
|
for his great debuging work and ISDN gateway which
|
|
unfortunately did not make it into this version yet.
|
|
|
|
* Jiri Kuthan (jiri@iptel.org)
|
|
for the debuging work and help to implement
|
|
communicating part between Ser & SEMS ('vm' module).
|
|
|
|
* All the others who helped during test session :-)
|
|
|