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.
192 lines
9.0 KiB
192 lines
9.0 KiB
* [1]Main Page
|
|
* [2]Related Pages
|
|
* [3]Namespaces
|
|
* [4]Data Structures
|
|
* [5]Files
|
|
* [6]Directories
|
|
* [7]Examples
|
|
|
|
Application Modules
|
|
|
|
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 [8]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.
|
|
* [9]Module Documentation: announcement Application
|
|
|
|
Pre-call announcements can either be implemented using early media with
|
|
the early_announce application,
|
|
* [10]Module Documentation: 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:
|
|
* [11]Module Documentation: ann_b2b Application
|
|
|
|
Another possibility is to establish the session and then REFER the
|
|
caller:
|
|
* [12]Module Documentation: announce_transfer Application
|
|
|
|
As SEMS can also do UAC authentication for a call using the uac_auth
|
|
component plugin ( ModuleDoc_uac_auth). An example where this is used
|
|
is the announce_auth example application:
|
|
* [13]Module Documentation: announce_auth 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:
|
|
* [14]Module Documentation: voicemail Application
|
|
|
|
Messages saved to voicebox can be listened to using the voicebox
|
|
application:
|
|
* [15]Module Documentation: voicebox Application
|
|
|
|
The annrecorder application can be used to record a personal greeting
|
|
message.:
|
|
* [16]Module Documentation: annrecorder Application
|
|
|
|
There is also a simpler mailbox application, which stores recorded
|
|
messages (in an IMAP server) and users can dial in to check their
|
|
messages:
|
|
* [17]Module Documentation: mailbox Application
|
|
|
|
Conferencing
|
|
|
|
SEMS can be a conference bridge with the conference application:
|
|
* [18]Module Documentation: 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:
|
|
* [19]Module Documentation: conf_auth Application
|
|
|
|
The other call flow can be implemented using the pin_collect
|
|
application:
|
|
* [20]Module Documentation: 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:
|
|
* [21]Module Documentation: webconference Application
|
|
|
|
User Agent (B2BUA) and SBC applications
|
|
|
|
SEMS has a powerful and flexible B2BUA application, called 'sbc', which
|
|
implements flexible routing options, header, message and codec filter,
|
|
optional RTP relay, SIP authentication, Session Timers, prepaid
|
|
accounting and call [22]timer etc.
|
|
* [23]SBC (flexible B2BUA) Application
|
|
|
|
Click2Dial
|
|
|
|
An xmlrpc-enabled way to initiate authenticated calls:
|
|
* [24]Module Documentation: click2dial application plugin
|
|
|
|
Defining and developing applications as state machine charts
|
|
|
|
The DSM module allows to define an application as simple, easy to read,
|
|
self-documenting, concise state diagram. This state machine definition
|
|
is then interpreted and executed by the DSM application.
|
|
* [25]DSM: State machine notation for VoIP applications
|
|
|
|
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:
|
|
* [26]Module Documentation: ivr Application
|
|
|
|
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:
|
|
* [27]Module Documentation: py_sems Application
|
|
|
|
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.
|
|
* [28]Module Documentation: reg_agent Application
|
|
|
|
* [29]Module Documentation: registrar_client Application
|
|
|
|
Various applications
|
|
|
|
xmlrpc2di ([30]Module Documentation: xmlrpc2di Application) exposes DI
|
|
interfaces as XMLRPC server. This is very useful to connect SEMS with
|
|
other software, that e.g. trigger click2dial calls, create
|
|
registrations at SIP registrar, do monitoring, etc.
|
|
|
|
callback application can save lots of mobile calls costs, it calls back
|
|
caller and then the caller can enter a number to be connected to:
|
|
* [31]Module Documentation: callback application plugin
|
|
|
|
auth_b2b application is identity change: A B2BUA where on the B leg the
|
|
caller identity and authentication is different. Can be used for
|
|
example for authenting to gateways.
|
|
|
|
Other components
|
|
|
|
* [32]Module Documentation: diameter_client component plugin
|
|
__________________________________________________________________
|
|
|
|
|
|
Generated on Thu Feb 3 02:29:25 2011 for SEMS by [33]doxygen 1.6.1
|
|
|
|
References
|
|
|
|
1. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/index.html
|
|
2. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/pages.html
|
|
3. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/namespaces.html
|
|
4. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/annotated.html
|
|
5. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/files.html
|
|
6. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/dirs.html
|
|
7. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/examples.html
|
|
8. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/AppDocExample.html
|
|
9. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_announcement.html
|
|
10. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_early_announce.html
|
|
11. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_ann_b2b.html
|
|
12. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_announce_transfer.html
|
|
13. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_announce_auth.html
|
|
14. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_voicemail.html
|
|
15. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_voicebox.html
|
|
16. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_annrecorder.html
|
|
17. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_mailbox.html
|
|
18. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_conference.html
|
|
19. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_conf_auth.html
|
|
20. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_pin_collect.html
|
|
21. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_webconference.html
|
|
22. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/classtimer.html
|
|
23. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_sbc.html
|
|
24. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_click2dial.html
|
|
25. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_dsm.html
|
|
26. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_ivr.html
|
|
27. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_py_sems.html
|
|
28. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_reg_agent.html
|
|
29. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_registrar_client.html
|
|
30. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_xmlrpc2di.html
|
|
31. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_callback.html
|
|
32. file://localhost/home/stefan/devel/sems/sems/doc/doxygen_doc/html/ModuleDoc_diameter_client.html
|
|
33. http://www.doxygen.org/index.html
|