Module: sip-router Branch: master Commit: bf05608198b343960d85bcfd6d210dba5fada5f5 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=bf056081...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: Sun Jun 26 11:05:23 2011 +0200
async: added module documentation
---
modules/async/README | 127 +++++++++++++++++++++++++++++++++++++ modules/async/doc/Makefile | 4 + modules/async/doc/async.xml | 37 +++++++++++ modules/async/doc/async_admin.xml | 124 ++++++++++++++++++++++++++++++++++++ 4 files changed, 292 insertions(+), 0 deletions(-)
diff --git a/modules/async/README b/modules/async/README new file mode 100644 index 0000000..c10a562 --- /dev/null +++ b/modules/async/README @@ -0,0 +1,127 @@ +ASYNC Module + +Daniel-Constantin Mierla + + miconda@gmail.com + +Edited by + +Daniel-Constantin Mierla + + miconda@gmail.com + + Copyright � 2011 asipto.com + __________________________________________________________________ + + Table of Contents + + 1. Admin Guide + + 1. Overview + 2. Dependencies + + 2.1. Kamailio Modules + 2.2. External Libraries or Applications + + 3. Exported Parameters + + 3.1. workers (int) + + 4. Exported Functions + + 4.1. async_sleep(seconds) + + List of Examples + + 1.1. Set workers parameter + 1.2. async_sleep usage + +Chapter 1. Admin Guide + + Table of Contents + + 1. Overview + 2. Dependencies + + 2.1. Kamailio Modules + 2.2. External Libraries or Applications + + 3. Exported Parameters + + 3.1. workers (int) + + 4. Exported Functions + + 4.1. async_sleep(seconds) + +1. Overview + + This module provides asynchornous operations for handling SIP requests + in configuration file. + + It uses t_suspend() and t_continue() from TM module. + + Note that after invoking the an asyncronous operation, the processing + will continue later, in another application process. Therefore, do not + rely on variables stored in private memory, used shared memory if you + want to get values after the processing is resumend (e.g., $shv(...) of + htable $sht(...)). + +2. Dependencies + + 2.1. Kamailio Modules + 2.2. External Libraries or Applications + +2.1. Kamailio Modules + + The following modules must be loaded before this module: + * tm - transaction management. + +2.2. External Libraries or Applications + + The following libraries or applications must be installed before + running Kamailio with this module loaded: + * None + +3. Exported Parameters + + 3.1. workers (int) + +3.1. workers (int) + + Number of worker processes to be started to handle the asynchornous + tasks. + + Default value is 1. + + Example 1.1. Set workers parameter +... +modparam("async", "workers", 2) +... + +4. Exported Functions + + 4.1. async_sleep(seconds) + +4.1. async_sleep(seconds) + + Simulate a sleep of 'seconds' and then continue the processing of SIP + request with the next action. In case of internal errors, the function + returns false, otherwise the function exits the execution of config at + that moment (return 0 behaviour). + + The sleep parameter represent the number of seconds to suppend the + processing of SIP request. Maximum value is 100. The parameter can be a + static integer or a varaible holding an integer. + + Since the SIP request handling is resumed in another process, + practically the config file execution state is lost. Therefore beware + that the execution of config after resume will end once the route block + where async_sleep() is called is finished. + + Example 1.2. async_sleep usage +... +async_sleep("4"); +send_reply("404", "Not found"); +exit; +... diff --git a/modules/async/doc/Makefile b/modules/async/doc/Makefile new file mode 100644 index 0000000..97b75e9 --- /dev/null +++ b/modules/async/doc/Makefile @@ -0,0 +1,4 @@ +docs = async.xml + +docbook_dir = ../../../docbook +include $(docbook_dir)/Makefile.module diff --git a/modules/async/doc/async.xml b/modules/async/doc/async.xml new file mode 100644 index 0000000..a722fb0 --- /dev/null +++ b/modules/async/doc/async.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding='ISO-8859-1'?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" +"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ + +<!-- Include general documentation entities --> +<!ENTITY % docentities SYSTEM "../../../docbook/entities.xml"> +%docentities; + +]> + +<book xmlns:xi="http://www.w3.org/2001/XInclude"> + <bookinfo> + <title>ASYNC Module</title> + <productname class="trade">sip-router.org</productname> + <authorgroup> + <author> + <firstname>Daniel-Constantin</firstname> + <surname>Mierla</surname> + <email>miconda@gmail.com</email> + </author> + <editor> + <firstname>Daniel-Constantin</firstname> + <surname>Mierla</surname> + <email>miconda@gmail.com</email> + </editor> + </authorgroup> + <copyright> + <year>2011</year> + <holder>asipto.com</holder> + </copyright> + </bookinfo> + <toc></toc> + + <xi:include href="async_admin.xml"/> + + +</book> diff --git a/modules/async/doc/async_admin.xml b/modules/async/doc/async_admin.xml new file mode 100644 index 0000000..2506f06 --- /dev/null +++ b/modules/async/doc/async_admin.xml @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding='ISO-8859-1'?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" +"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ + +<!-- Include general documentation entities --> +<!ENTITY % docentities SYSTEM "../../../docbook/entities.xml"> +%docentities; + +]> +<!-- Module User's Guide --> + +<chapter> + + <title>&adminguide;</title> + + <section> + <title>Overview</title> + <para> + This module provides asynchornous operations for handling SIP requests + in configuration file. + </para> + <para> + It uses t_suspend() and t_continue() from TM module. + </para> + <para> + Note that after invoking the an asyncronous operation, the processing + will continue later, in another application process. Therefore, do not + rely on variables stored in private memory, used shared memory if you + want to get values after the processing is resumend (e.g., $shv(...) + of htable $sht(...)). + </para> + </section> + + <section> + <title>Dependencies</title> + <section> + <title>&kamailio; Modules</title> + <para> + The following modules must be loaded before this module: + <itemizedlist> + <listitem> + <para> + <emphasis>tm</emphasis> - transaction management. + </para> + </listitem> + </itemizedlist> + </para> + </section> + <section> + <title>External Libraries or Applications</title> + <para> + The following libraries or applications must be installed before running + &kamailio; with this module loaded: + <itemizedlist> + <listitem> + <para> + <emphasis>None</emphasis> + </para> + </listitem> + </itemizedlist> + </para> + </section> + </section> + <section> + <title>Exported Parameters</title> + <section> + <title><varname>workers</varname> (int)</title> + <para> + Number of worker processes to be started to handle the asynchornous + tasks. + </para> + <para> + <emphasis> + Default value is 1. + </emphasis> + </para> + <example> + <title>Set <varname>workers</varname> parameter</title> + <programlisting format="linespecific"> +... +modparam("async", "workers", 2) +... +</programlisting> + </example> + </section> + </section> + + <section> + <title>Exported Functions</title> + <section> + <title> + <function moreinfo="none">async_sleep(seconds)</function> + </title> + <para> + Simulate a sleep of 'seconds' and then continue the processing of SIP + request with the next action. In case of internal errors, the function + returns false, otherwise the function exits the execution of config + at that moment (return 0 behaviour). + </para> + <para> + The sleep parameter represent the number of seconds to suppend the + processing of SIP request. Maximum value is 100. The parameter can be + a static integer or a varaible holding an integer. + </para> + <para> + Since the SIP request handling is resumed in another process, + practically the config file execution state is lost. Therefore beware + that the execution of config after resume will end once the route block + where async_sleep() is called is finished. + </para> + <example> + <title><function>async_sleep</function> usage</title> + <programlisting format="linespecific"> +... +async_sleep("4"); +send_reply("404", "Not found"); +exit; +... +</programlisting> + </example> + </section> + </section> +</chapter> +