cfg_rpc Module

Miklos Tirpak

   <miklos@iptel.org>

   Copyright © 2007 iptelorg GmbH
     __________________________________________________________________

   Table of Contents

   1. Admin Guide

        1. Overview
        2. Dependencies

              2.1. SIP Router Modules
              2.2. External Libraries or Applications

        3. RPC Commands

              3.1. cfg.list
              3.2. cfg.get
              3.3. cfg.seti
              3.4. cfg.set_now_int
              3.5. cfg.sets
              3.6. cfg.set_now_string
              3.7. cfg.set
              3.8. cfg.del
              3.9. cfg.set_delayed_int
              3.10. cfg.set_delayed_string
              3.11. cfg.set_delayed
              3.12. cfg.del_delayed
              3.13. cfg.commit
              3.14. cfg.rollback
              3.15. cfg.help
              3.16. cfg.diff
              3.17. cfg.add_group_inst
              3.18. cfg.del_group_inst

   List of Examples

   1.1. Use cfg.get RPC command
   1.2. Use cfg.get RPC command
   1.3. Use cfg.seti RPC command
   1.4. Use cfg.sets RPC command

Chapter 1. Admin Guide

   Table of Contents

   1. Overview
   2. Dependencies

        2.1. SIP Router Modules
        2.2. External Libraries or Applications

   3. RPC Commands

        3.1. cfg.list
        3.2. cfg.get
        3.3. cfg.seti
        3.4. cfg.set_now_int
        3.5. cfg.sets
        3.6. cfg.set_now_string
        3.7. cfg.set
        3.8. cfg.del
        3.9. cfg.set_delayed_int
        3.10. cfg.set_delayed_string
        3.11. cfg.set_delayed
        3.12. cfg.del_delayed
        3.13. cfg.commit
        3.14. cfg.rollback
        3.15. cfg.help
        3.16. cfg.diff
        3.17. cfg.add_group_inst
        3.18. cfg.del_group_inst

1. Overview

   The module implements RPC commands to set and get configuration
   variables on-the-fly, that are declared by Kamailio core and by the
   modules.

   For example, it can be used to fine-tune values for global parameters
   such as debug, tcp/sctp/dns attributes, without the need of restart.

   RPC connector modules, such as “ctl” or “xmlrpc”, although not a
   dependecy, should be loaded in order to execute the RPC commands
   exported by this module. When the ctl module is loaded, the tool
   'kamcmd' can be used to execute the RPC commands implemented in this
   module.

2. Dependencies

   2.1. SIP Router Modules
   2.2. External Libraries or Applications

2.1. SIP Router Modules

   The following modules must be loaded before this module:
     * No dependencies on other SIP Router modules.

2.2. External Libraries or Applications

   The following libraries or applications must be installed before
   running SIP Router with this module loaded:
     * None.

3. RPC Commands

   3.1. cfg.list
   3.2. cfg.get
   3.3. cfg.seti
   3.4. cfg.set_now_int
   3.5. cfg.sets
   3.6. cfg.set_now_string
   3.7. cfg.set
   3.8. cfg.del
   3.9. cfg.set_delayed_int
   3.10. cfg.set_delayed_string
   3.11. cfg.set_delayed
   3.12. cfg.del_delayed
   3.13. cfg.commit
   3.14. cfg.rollback
   3.15. cfg.help
   3.16. cfg.diff
   3.17. cfg.add_group_inst
   3.18. cfg.del_group_inst

   The module implements the RPC commands documented in the next sections.

3.1. cfg.list

   cfg.list - List the configuration variables. The function has one
   optional parameter: group name.

   Example 1.1. Use cfg.get RPC command
...
# kamcmd cfg.list
...

3.2. cfg.get

   cfg.get - Get the value of a configuration variable. The function
   accepts two parameters: group name, variable name. The group name can
   optionally contain the group instance id, for example foo[5].

   Example 1.2. Use cfg.get RPC command
...
# kamcmd cfg.get core debug
...

3.3. cfg.seti

   cfg.seti - Set the value of a configuration variable and commit the
   change immediately. The function accepts three parameters: group name,
   variable name, integer value. The group name can optionally contain the
   group instance id, for example foo[5].

   Example 1.3. Use cfg.seti RPC command
...
# kamcmd cfg.seti core debug 1
...

3.4. cfg.set_now_int

   cfg.set_now_int - This is an alias to the command cfg.seti.

3.5. cfg.sets

   cfg.sets - Set the value of a configuration variable and commit the
   change immediately. The function accepts three parameters: group name,
   variable name, string value. The group name can optionally contain the
   group instance id, for example foo[5].

   Example 1.4. Use cfg.sets RPC command
...
# kamcmd cfg.sets voicemail srv_ip "1.2.3.4"
...

3.6. cfg.set_now_string

   cfg.set_now_string - This is an alias to the command cfg.sets.

3.7. cfg.set

   cfg.set - Set the value of a configuration variable and commit the
   change immediately. This is a wrapper command for cfg.set_now_int and
   cfg.set_now_string depending on the type of the value provided. The
   function accepts three parameters: group name, variable name,
   int/string value. The group name can optionally contain the group
   instance id, for example foo[5].

3.8. cfg.del

   cfg.del - Delete the value of a configuration variable from a group
   instance and commit the change immediately. The value is reset to the
   default value and it follows the changes of that. The function accepts
   two parameters: group name, variable name. The group name must contain
   the group instance id, for example foo[5].

3.9. cfg.set_delayed_int

   cfg.set_delayed_int - Prepare the change of a configuration variable,
   but does not commit the new value yet. The function accepts three
   parameters: group name, variable name, integer value. The group name
   can optionally contain the group instance id, for example foo[5].

3.10. cfg.set_delayed_string

   cfg.set_delayed_string - Prepare the change of a configuration
   variable, but does not commit the new value yet. The function accepts
   three parameters: group name, variable name, string value. The group
   name can optionally contain the group instance id, for example foo[5].

3.11. cfg.set_delayed

   cfg.set_delayed - Prepare the change of a configuration variable, but
   does not commit the new value yet. This is a wrapper command for
   cfg.set_delayed_int and cfg.set_delayed_string depending on the type of
   the value provided. The function accepts three parameters: group name,
   variable name, int/string value. The group name can optionally contain
   the group instance id, for example foo[5].

3.12. cfg.del_delayed

   cfg.del_delayed - Prepare the deletion of the value of a configuration
   variable from a group instance, but does not commit the change yet. The
   value is reset to the default value and it follows the changes of that.
   The function accepts two parameters: group name, variable name. The
   group name must contain the group instance id, for example foo[5].

3.13. cfg.commit

   cfg.commit - Commit the previously prepared configuration changes. The
   function does not have any parameters.

3.14. cfg.rollback

   cfg.rollback - Drop the prepared configuration changes. The function
   does not have any parameters.

3.15. cfg.help

   cfg.help - Print the description of a configuration variable. The
   function accepts two parameters: group name, variable name.

3.16. cfg.diff

   cfg.diff - List the pending configuration changes that have not been
   committed yet. The function does not have any parameters.

3.17. cfg.add_group_inst

   cfg.add_group_inst - Add a new instance to an existing configuration
   group. The function accepts one parameter: group name[instance id], for
   example foo[5].

3.18. cfg.del_group_inst

   cfg.del_group_inst - Delete an instance of an existing configuration
   group. The function accepts one parameter: group name[instance id], for
   example foo[5].
