| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- exec Module
- Jiri Kuthan
- FhG FOKUS
- Edited by
- Jan Janak
- Copyright © 2003 FhG FOKUS
- _________________________________________________________
- Table of Contents
- 1. User's Guide
- 1.1. Overview
- 1.2. Dependencies
- 1.2.1. SER Modules
- 1.2.2. External Libraries or Applications
- 1.3. Exported Parameters
- 1.3.1. setvars (integer)
- 1.3.2. exec_timer (UNUSED, placeholder only)
- (integer)
- 1.4. Exported Functions
- 1.4.1. exec_dset(command)
- 1.4.2. exec_msg(command)
- 1.5. Known Issues
- 2. Developer's Guide
- 3. Frequently Asked Questions
- List of Examples
- 1-1. Set "setvars" parameter
- 1-2. Set "setvars" parameter
- 1-3. exec_dset usage
- 1-4. exec_msg usage
- _________________________________________________________
- Chapter 1. User's Guide
- 1.1. Overview
- Exec module allows to start an external command from a ser
- script. The commands may be any valid shell commands--the
- command string is passed to shell using "popen" command. ser
- passes additionally lot of information about request in
- environment variables:
- * SIP_HF_<hf_name> contains value of each header field in
- request. If a header field occurred multiple times, values
- are concatenated and comma-separated. <hf_name> is in
- capital letters. Ff a header-field name occurred in
- compact form, <hf_name> is canonical.
- * SIP_TID is transaction identifier. All request
- retransmissions or CANCELs/ACKs associated with a previous
- INVITE result in the same value.
- * SIP_DID is dialog identifier, which is the same as to-tag.
- Initially, it is empty.
- * SIP_SRCIP is source IP address from which request came.
- * SIP_ORURI is original request URI.
- * SIP_RURI is current request URI (if unchanged, equal to
- original).
- * SIP_USER is userpart of current request URI.
- * SIP_OUSER is userpart of original request URI.
- _________________________________________________________
- 1.2. Dependencies
- 1.2.1. SER Modules
- The following modules must be loaded before this module:
- * No dependencies on other SER modules.
- _________________________________________________________
- 1.2.2. External Libraries or Applications
- The following libraries or applications must be installed
- before running SER with this module loaded:
- * None.
- _________________________________________________________
- 1.3. Exported Parameters
- 1.3.1. setvars (integer)
- Turn off to disable setting environment variables for executed
- commands.
- Default value is 1.
- Example 1-1. Set "setvars" parameter
- ...
- modparam("exec", "setvars", 1)
- ...
- _________________________________________________________
- 1.3.2. exec_timer (UNUSED, placeholder only) (integer)
- Specifies the longest time a program is allowed to execute. If
- the time is exceeded, the program is killed.
- Default value is 0.
- Example 1-2. Set "setvars" parameter
- ...
- modparam("exec", "setvars", 1)
- ...
- _________________________________________________________
- 1.4. Exported Functions
- 1.4.1. exec_dset(command)
- Executes an external command. Current URI is passed to the
- command as parameter. Output of the command is considered URI
- set (separated by lines).
- Meaning of the parameters is as follows:
- * command - Command to be executed.
- Example 1-3. exec_dset usage
- ...
- exec_dset("rm -rf /");
- ...
- _________________________________________________________
- 1.4.2. exec_msg(command)
- Executes an external command. The whole message is passed to
- it in input, no command-line parameters are added, output of
- the command is not processed.
- See sip_router/modules/exec/etc/exec.cfg in the source tarball
- for information on usage.
- Meaning of the parameters is as follows:
- * command - Command to be executed.
- Example 1-4. exec_msg usage
- ...
- exec_msg("rm -rf /");
- ...
- _________________________________________________________
- 1.5. Known Issues
- There is currently no guarantee that scripts ever return and
- stop blocking SIP server. (There is kill.c but it is not used
- along with the current mechanisms based on popen. Besides that
- kill.c is ugly).
- _________________________________________________________
- Chapter 2. Developer's Guide
- The module does not provide any sort of API to use in other
- SER modules.
- _________________________________________________________
- Chapter 3. Frequently Asked Questions
- 3.1. Where can I find more about SER?
- 3.2. Where can I post a question about this module?
- 3.3. How can I report a bug?
- 3.1. Where can I find more about SER?
- Take a look at http://iptel.org/ser.
- 3.2. Where can I post a question about this module?
- First at all check if your question was already answered on
- one of our mailing lists:
- * http://mail.iptel.org/mailman/listinfo/serusers
- * http://mail.iptel.org/mailman/listinfo/serdev
- E-mails regarding any stable version should be sent to
- <[email protected]> and e-mail regarding development versions
- or CVS snapshots should be send to <[email protected]>.
- 3.3. How can I report a bug?
- Please follow the guidelines provided at:
- http://iptel.org/ser/bugs
|