diff --git a/Makefile b/Makefile index 90ae485d..007d25c5 100644 --- a/Makefile +++ b/Makefile @@ -67,3 +67,6 @@ tar: "$(NAME)-$(RELEASE)" ) ; \ rm -rf tmp +.PHONY: doc +doc: + make -C core/ doc \ No newline at end of file diff --git a/core/doxygen_proj b/core/doxygen_proj index 42d38ffa..0526789a 100644 --- a/core/doxygen_proj +++ b/core/doxygen_proj @@ -468,7 +468,8 @@ INPUT = amci etc lib plug-in rpm rtp scripts . \ ../apps/ivr \ ../apps/mailbox \ ../apps/mp3 \ - ../apps/voicemail + ../apps/voicemail \ + ../doc/doxyref.h # If the value of the INPUT tag contains directories, you can use the @@ -508,7 +509,7 @@ EXCLUDE_PATTERNS = # directories that contain example code fragments that are included (see # the \include command). -EXAMPLE_PATH = +EXAMPLE_PATH = ../doc ../ # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp diff --git a/doc/doxyref.h b/doc/doxyref.h new file mode 100644 index 00000000..a2fe8e25 --- /dev/null +++ b/doc/doxyref.h @@ -0,0 +1,220 @@ +/* \file This file generates Doxygen pages from files in the /doc + directory + */ + +/*! \page index SEMS Documentation + * \section news News & Changes + * \arg \ref whatsnew_0100 + * \arg \ref changelog + * + * \section general General + * \arg \ref Readme + * + * \section userdoc User's documentation + * \arg \ref Compiling + * \arg \ref Configure-Sems-Ser-HOWTO + * \arg \ref AppDoc + * + * \section developerdoc Developer's documentation + * \arg + * SEMS Design Overview + * \arg + * Application Development Tutorial + * \arg \ref ComponentDoc + * + * \section weblinks Web sites + * \arg \b Main: SEMS website http://iptel.org/sems + * \arg \b sems & semsdev Lists: List server http://lists.iptel.org + * \arg \b Bugs: Bug tracker: http://tracker.iptel.org/browse/SEMS + * + */ + +/*! \page whatsnew_0100 What's new in SEMS 0.10.0 + * SEMS has changed a lot between 0.9 versions and 0.10 versions. + * The file WHATSNEW lists the most important changes: + * \verbinclude WHATSNEW + * + */ + +/*! \page changelog Changelog (from 0.10.0-rc1 onwards) + * CHANGELOG for SEMS which is from 0.10.0-rc1 onwards + * \verbinclude CHANGELOG + * + */ + +/*! \page Readme SEMS Readme file + * SEMS Readme file: + * + * \verbinclude README + * + */ + +/*! \page Compiling Additional compiling instructions (ivr and mp3) + * \verbinclude COMPILING + * + */ + +/*! \page Configure-Sems-Ser-HOWTO mini-Howto on how to configure SER and SEMS to work together + * + * Be sure to also check the instructions that are on the page with the + * + * application development tutorial, there is step by step instructions including + * a complete set of configuration files that should get you started with SEMS + * very quickly. + * + * \verbinclude Configure-Sems-Ser-HOWTO + * + */ + +/*! \page AppDoc Application Modules Documentation + * Documentation for the applications that come with SEMS. + * + * \section announcementappdoc 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 (\Ref ModuleDoc_uac_auth). An example where this is used + * is the announce_auth application: + * + * + * \section voicemailboxappdoc Voicemail and Mailbox + * SEMS has a voicemail application, which send a recorded message via + * Email (voicemail2email): + * + * + * + * There is also a mailbox application, which stores recorded messages (in an IMAP + * server) and users can dial in to check their messages: + * + * + * + * \section conferencingappdoc Conferencing + * SEMS can be a conference bridge with the conference application: + * + * + * + * \subsection conferencingauthappdoc 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: + * + * + * + * \section IVR: Python Scripting application + * + * 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: + * + * + * + */ + +/*! \page ModuleDoc_ann_b2b Module Documentation: ann_b2b Application + * \section Readme_ann_b2b Readme file + * \verbinclude Readme.ann_b2b + */ + +/*! \page ModuleDoc_announce_auth Module Documentation: announce_auth Application + * \section Readme_announce_auth Readme file + * \verbinclude Readme.announce_auth + */ + +/*! \page ModuleDoc_announce_transfer Module Documentation: announce_transfer Application + * \section Readme_announce_transfer Readme file + * \verbinclude Readme.announce_transfer + */ +/*! \page ModuleDoc_ann_b2b Module Documentation: ann_b2b Application + * \section Readme_ann_b2b Readme file + * \verbinclude Readme.ann_b2b + */ + +/*! \page ModuleDoc_announcement Module Documentation: announcement Application + * \section Readme_announcement Readme file + * \verbinclude Readme.announcement + */ + +/*! \page ModuleDoc_conference Module Documentation: conference Application + * \section Readme_conference Readme file + * \verbinclude Readme.conference + */ + +/*! \page ModuleDoc_early_announce Module Documentation: early_announce Application + * \section Readme_early_announce Readme file + * \verbinclude Readme.early_announce + */ + +/*! \page ModuleDoc_voicemail Module Documentation: voicemail Application + * \section Readme_voicemail Readme file + * \verbinclude Readme.voicemail + */ + +/*! \page ModuleDoc_mailbox Module Documentation: mailbox Application + * \section Readme_mailbox Readme file + * \verbinclude Readme.mailbox + */ + +/*! \page ModuleDoc_ivr Module Documentation: ivr Application + * \section Readme_ivr Readme file + * \verbinclude Readme.ivr + */ + +/*! \page ModuleDoc_uac_auth Module Documentation: uac_auth component + * \section Readme_uac_auth Readme file + * \verbinclude Readme.uac_auth + */ + +/*! \page ModuleDoc_registrar_client Module Documentation: registrar_client component + * \section Readme_registrar_client Readme file + * \verbinclude Readme.registrar_client + */ + +/*! \page ModuleDoc_mp3plugin Module Documentation: mp3 file writer audio plugin + * \section Readme_mp3plugin Readme file + * \verbinclude Readme.mp3plugin + */ + +/*! \page ModuleDoc_iLBC Module Documentation: iLBC codec plugin + * \section Readme_iLBC Readme file + * \verbinclude Readme.iLBC + */ + + + +/*! \page ComponentDoc Component Modules Documentation + * + * SEMS is extensible with modules. Component modules are modules which + * implement functionality which can be used by other modules, e.g. by + * application modules. + * + * + * + */ +