oracle Module
     __________________________________________________________

   Table of Contents

   1. User's Guide

        1.1. Overview
        1.2. Dependencies

              1.2.1. OpenSIPS Modules
              1.2.2. External Libraries or Applications

        1.3. Exported Parameters

              1.3.1. timeout (fixedpoint)
              1.3.2. reconnect (fixedpoint)

        1.4. Exported Functions
        1.5. Installation
        1.6. Utility opensips_orasel

   2. Contributors

        2.1. By Commit Statistics
        2.2. By Commit Activity

   3. Documentation

        3.1. Contributors

   List of Tables

   2.1. Top contributors by DevScore^(1), authored commits^(2) and
          lines added/removed^(3)

   2.2. Most recently active contributors^(1) to this module

   List of Examples

   1.1. Set timeout parameter
   1.2. Disable asynchronous mode
   1.3. Set reconnect parameter

Chapter 1. User's Guide

1.1. Overview

   This is a module which provides Oracle connectivity for
   OpenSIPS. It implements the DB API defined in OpenSIPS. If you
   want to use the nathelper module, or any other modules that
   calls the get_all_ucontacts API export from usrloc, then you
   need to set the DORACLE_USRLOC define in the Makefile.defs file
   before compilation.

1.2. Dependencies

1.2.1. OpenSIPS Modules

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

1.2.2. External Libraries or Applications

   The following libraries or applications must be installed
   before running OpenSIPS with this module loaded:
     * instantclient-sdk-10.2.0.3 - the development headers and
       libraries of OCI.

1.3. Exported Parameters

1.3.1. timeout (fixedpoint)

   Timeout value for any operation with BD.

   Possible values is from 0.1 to 10.0 seconds.

   Default value is 3.0 (3 second).

   If value of timeout parameter set to 0, module use synchronous
   mode (without timeout).

   Example 1.1. Set timeout parameter
...
modparam("db_oracle", "timeout", 1.5)
...

   Example 1.2. Disable asynchronous mode
...
modparam("db_oracle", "timeout", 0)
...

1.3.2. reconnect (fixedpoint)

   Timeout value for connect (create session) operation.

   Possible values is from 0.1 to 10.0 seconds.

   Default value is 0.2 (200 milliseconds).

   Example 1.3. Set reconnect parameter
...
modparam("db_oracle", "reconnect", 0.5)
...

1.4. Exported Functions

   No function exported to be used from configuration file.

1.5. Installation

   Because it dependes on an external library, the oracle module
   is not compiled and installed by default. You can use one of
   the next options.
     * - edit the "Makefile" and remove "db_oracle" from
       "excluded_modules" list. Then follow the standard procedure
       to install OpenSIPS: "make all; make install".
     * - from command line use: 'make all
       include_modules="db_oracle"; make install
       include_modules="db_oracle"'.

1.6. Utility opensips_orasel

   For working with opensips-cli tool, should be able to print the
   'query' results to the terminal in a user-readable form. The
   standard command-line Oracle client (sqlplus) is not quite
   suitable for this, as it cannot align row width to real
   (received) data's (it always prints a cell width as described
   in the db scheme). This problem has been solved by inclusion
   the utility opensips_orasel, which formats printing
   approximately in the same way as the 'mysql' client utility. In
   addition, this utility known about the "agreements and types"
   in DB that are used in OpenSIPS for the work with Oracle and
   formats printing taking these into account.

Chapter 2. Contributors

2.1. By Commit Statistics

   Table 2.1. Top contributors by DevScore^(1), authored
   commits^(2) and lines added/removed^(3)
     Name DevScore Commits Lines ++ Lines --
   1. Iouri Kharon 21 1 2363 0
   2. Bogdan-Andrei Iancu (@bogdan-iancu) 14 11 64 68
   3. Liviu Chircu (@liviuchircu) 12 9 23 83
   4. Razvan Crainea (@razvancrainea) 10 8 111 39
   5. dronord 8 6 29 18
   6. Peter Lemenkov (@lemenkov) 7 5 41 5
   7. Gang Zhuo 6 4 42 16
   8. Henning Westerholt (@henningw) 5 3 19 7
   9. Gang Zhuo 4 2 4 2
   10. Vlad Patrascu (@rvlad-patrascu) 4 2 3 3

   All remaining contributors: Maksym Sobolyev (@sobomax),
   fabriziopicconi, Ovidiu Sas (@ovidiusas), Sergio Gutierrez,
   Julián Moreno Patiño, Razvan Pistolea.

   (1) DevScore = author_commits + author_lines_added /
   (project_lines_added / project_commits) + author_lines_deleted
   / (project_lines_deleted / project_commits)

   (2) including any documentation-related commits, excluding
   merge commits. Regarding imported patches/code, we do our best
   to count the work on behalf of the proper owner, as per the
   "fix_authors" and "mod_renames" arrays in
   opensips/doc/build-contrib.sh. If you identify any
   patches/commits which do not get properly attributed to you,
   please submit a pull request which extends "fix_authors" and/or
   "mod_renames".

   (3) ignoring whitespace edits, renamed files and auto-generated
   files

2.2. By Commit Activity

   Table 2.2. Most recently active contributors^(1) to this module
                      Name                   Commit Activity
   1.  Gang Zhuo                           Nov 2022 - Nov 2024
   2.  Liviu Chircu (@liviuchircu)         Mar 2014 - May 2024
   3.  Maksym Sobolyev (@sobomax)          Feb 2023 - Feb 2023
   4.  Gang Zhuo                           Dec 2021 - Dec 2021
   5.  Razvan Crainea (@razvancrainea)     Oct 2011 - Sep 2019
   6.  Bogdan-Andrei Iancu (@bogdan-iancu) Jul 2008 - Apr 2019
   7.  Vlad Patrascu (@rvlad-patrascu)     May 2017 - Apr 2019
   8.  Peter Lemenkov (@lemenkov)          Aug 2012 - Jun 2018
   9.  dronord                             Nov 2017 - Dec 2017
   10. Julián Moreno Patiño                Feb 2016 - Feb 2016

   All remaining contributors: fabriziopicconi, Ovidiu Sas
   (@ovidiusas), Razvan Pistolea, Sergio Gutierrez, Henning
   Westerholt (@henningw), Iouri Kharon.

   (1) including any documentation-related commits, excluding
   merge commits

Chapter 3. Documentation

3.1. Contributors

   Last edited by: Liviu Chircu (@liviuchircu), Peter Lemenkov
   (@lemenkov), Bogdan-Andrei Iancu (@bogdan-iancu), Henning
   Westerholt (@henningw), Iouri Kharon.

   Documentation Copyrights:

   Copyright © 2007-2008 TRUNK MOBILE, INC.
