mi_fifo Module

Bogdan-Andrei Iancu

Edited by

Bogdan-Andrei Iancu


Table of Contents
1. User's Guide
1.1. Overview
1.2. FIFO command syntax
1.3. Dependencies
1.3.1. OpenSER Modules
1.3.2. External Libraries or Applications
1.4. Exported Parameters
1.4.1. fifo_name (string)
1.4.2. fifo_mode (integer)
1.4.3. fifo_group (integer) fifo_group (string)
1.4.4. fifo_user (integer) fifo_group (string)
1.4.5. reply_dir (string)
1.4.6. reply_indent (string)
1.5. Exported Functions
1.6. Example
2. Developer's Guide
3. Frequently Asked Questions
List of Examples
1-1. Set fifo_name parameter
1-2. Set fifo_mode parameter
1-3. Set fifo_group parameter
1-4. Set fifo_user parameter
1-5. Set reply_dir parameter
1-6. Set reply_indent parameter
1-7. FIFO request

Chapter 1. User's Guide

1.1. Overview

This is a module which provides a FIFO transport layer implementation for Management Interface.


1.2. FIFO command syntax

The external commands issued via FIFO interface must follow the following syntax:

  • request = first_line argument*

  • first_line = ':'command_name':'reply_fifo'\n'

  • argument = (arg_name '::' (arg_value)? ) | (arg_value)

  • arg_name = not-quoted_string

  • arg_value = not-quoted_string | '"' string '"'

  • not-quoted_string = string - {',",\n,\r}


1.3. Dependencies

1.3.1. OpenSER Modules

The following modules must be loaded before this module:

  • No dependencies on other OpenSER modules.


1.3.2. External Libraries or Applications

The following libraries or applications must be installed before running OpenSER with this module loaded:

  • none


1.4. Exported Parameters

1.4.1. fifo_name (string)

The name of the FIFO file to be created for listening and reading external commands.

Default value is NONE.

Example 1-1. Set fifo_name parameter

...
modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
...

1.4.2. fifo_mode (integer)

Permission to be used for creating the listening FIFO file. It follows the UNIX conventions.

Default value is 0660 (rw-rw----).

Example 1-2. Set fifo_mode parameter

...
modparam("mi_fifo", "fifo_mode", 0600)
...

1.4.3. fifo_group (integer) fifo_group (string)

Group to be used for creating the listening FIFO file.

Default value is the inherited one.

Example 1-3. Set fifo_group parameter

...
modparam("mi_fifo", "fifo_group", 0)
modparam("mi_fifo", "fifo_group", "root")
...

1.4.4. fifo_user (integer) fifo_group (string)

User to be used for creating the listening FIFO file.

Default value is the inherited one.

Example 1-4. Set fifo_user parameter

...
modparam("mi_fifo", "fifo_user", 0)
modparam("mi_fifo", "fifo_user", "root")
...

1.4.5. reply_dir (string)

Directory to be used for creating the reply FIFO files.

Default value is "/tmp/"

Example 1-5. Set reply_dir parameter

...
modparam("mi_fifo", "reply_dir", "/home/openser/tmp/")
...

1.4.6. reply_indent (string)

Strings to be used for line indentation. As the MI data structure is tree oriendeted, the depth level will printed as indentation.

Default value is ""\t" (TAB)".

Example 1-6. Set reply_indent parameter

...
modparam("mi_fifo", "reply_indent", "    ")
...

1.5. Exported Functions

No function exported to be used from configuration file.


1.6. Example

This is an example showing the FIFO format for the "get_statistics dialog: tm:" MI commad: response.

Example 1-7. FIFO request


get_statistics:/tmp/reply_fifo\n
dialog:\n
tm:\n
\n

Chapter 2. Developer's Guide

The module does not provide any API to use in other OpenSER modules.


Chapter 3. Frequently Asked Questions

3.1. Where can I find more about OpenSER?
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 OpenSER?

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:

E-mails regarding any stable OpenSER release should be sent to and e-mails regarding development versions should be sent to .

If you want to keep the mail private, send it to .

3.3. How can I report a bug?

Please follow the guidelines provided at: http://sourceforge.net/tracker/?group_id=139143.