Application Modules Documentation

Documentation for the applications that come with SEMS. The applications can be found in the apps/ directory and are installed by default if they do not depend on special libraries (eg. liblame). A set of Example Applications that illustrate how to make use certain aspects of the SEMS framework can be found in the apps/examples directory. These are not installed by default.

Announcement Applications

Applications that play announcements to the caller. For plain announcements, there is the announcement module.

Pre-call announcements can either be implemented using early media with the early_announce application,

or the session is established and after the announcement SEMS acts as B2BUA, inviting the original r-uri, and finally reinviting the caller:

Another possibility is to establish the session and then REFER the caller:

As SEMS can also do UAC authentication for a call using the uac_auth component plugin (Module Documentation: uac_auth component). An example where this is used is the announce_auth example application:

Voicemail and Mailbox

SEMS has a voicemail application, which send a recorded message via Email (voicemail2email), saves the message to the voicebox, or does both:

Messages saved to voicebox can be listened to using the voicebox application:

The annrecorder application can be used to record a personal greeting message.:

There is also a simpler mailbox application, which stores recorded messages (in an IMAP server) and users can dial in to check their messages:

Conferencing

SEMS can be a conference bridge with the conference application:

Authentication for conference rooms (PIN entry)

There are two possibilies how a PIN entry for conference rooms (or for other services) can be implemented: after the PIN is collected and verified against a XMLRPC authentication server, the call can be connected to the conference room either using B2BUA, or it can be transfered to the conference bridge using a (proprietary) REFER call flow. The b2bua solution, which also gives the possibility to limit the call time, is implemented in the conf_auth plugin:

The other call flow can be implemented using the pin_collect application:

Web controlled conference rooms

Using the webconference application, conference rooms can be controlled from e.g. a web control page, or some other external mechanism:

Prepaid

This is a signalling-only prepaid engine.

Click2Dial

An xmlrpc-enabled way to initiate authenticated calls:

Scripting SEMS with Python

There are two application modules which embed a python interpreted into SEMS: the ivr module and the py_sems module.

The ivr module plugin embeds a python interpreter into SEMS. In it, applications written in python can be run (mailbox, conf_auth, pin_collect for example) and new applications can be prototyped and implemented very quickly:

The ivr module has a simple to use, yet limited API, which uses hand-written wrappers for the python bindings.

py_sems uses a binding generator to make python classes from the SEMS core C++ classes, thus exposing a lot more functionality natively to python:

Registering SEMS at a SIP registrar

The reg_agent module together with the registar_client module can be used to register at a SIP registrar.

Various applications

Other components


Generated on Fri May 16 12:02:06 2008 for SEMS by  doxygen 1.5.1
Home |  Recent changes |  Search |  Glossary |  Sitemap |  Login