oracle Module

Iouri Kharon

Yury Skandarov

Iakov Kharon

Edited by

Iouri Kharon

Revision History
Revision $Revision: 5901 $$Date: 2009-07-21 09:45:05 +0200 (Tue, 21 Jul 2009) $

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

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- - 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 opensipsctl script, 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.