group Module

Jan Janak

FhG FOKUS

Edited by

Jan Janak


Table of Contents
1. User's Guide
1.1. Overview
1.2. Dependencies
1.2.1. OpenSER Modules
1.2.2. External Libraries or Applications
1.3. Exported Parameters
1.3.1. db_url (string)
1.3.2. table (string)
1.3.3. user_column (string)
1.3.4. domain_column (string)
1.3.5. group_column (string)
1.3.6. use_domain (integer)
1.4. Exported Functions
1.4.1. is_user_in(URI, group)
2. Developer's Guide
3. Frequently Asked Questions
List of Examples
1-1. Set db_url parameter
1-2. Set table parameter
1-3. Set user_column parameter
1-4. Set domain_column parameter
1-5. Set group_column parameter
1-6. Set use_domain parameter
1-7. is_user_in usage

Chapter 1. User's Guide

1.1. Overview

This module export functions necessary for group membership checking. There is a database table that contains list of users and groups they belong to. The table is used by functions of this module.


1.2. Dependencies

1.2.1. OpenSER Modules

The following modules must be loaded before this module:

  • A database module, like mysql, postgres or dbtext


1.2.2. External Libraries or Applications

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

  • None.


1.3. Exported Parameters

1.3.1. db_url (string)

URL of the database table to be used.

Default value is "mysql://openserro:openserro@localhost/openser".

Example 1-1. Set db_url parameter

...
modparam("group", "db_url", "mysql://username:password@dbhost/openser")
...

1.3.2. table (string)

Name of the table holding groups and their members.

Default value is "grp".

Example 1-2. Set table parameter

...
modparam("group", "table", "grp_table")
...

1.3.3. user_column (string)

Name of the column holding usernames.

Default value is "username".

Example 1-3. Set user_column parameter

...
modparam("group", "user_column", "user")
...

1.3.4. domain_column (string)

Name of the column holding domains.

Default value is "domain".

Example 1-4. Set domain_column parameter

...
modparam("group", "domain_column", "realm")
...

1.3.5. group_column (string)

Name of the column holding groups.

Default value is "grp".

Example 1-5. Set group_column parameter

...
modparam("group", "group_column", "grp")
...

1.3.6. use_domain (integer)

If set to 1 then username@domain will be used for lookup, if set to 0 then only username will be used.

Default value is 0 (no).

Example 1-6. Set use_domain parameter

...
modparam("group", "use_domain", 1)
...

1.4. Exported Functions

1.4.1. is_user_in(URI, group)

The function returns true if username in the given URI is member of the given group and false if not.

Meaning of the parameters is as follows:

  • URI - URI whose username and optionally domain to be used, this can be one of:

    • Request-URI - Use Request-URI username and (optionally) domain.

    • To - Use To username and (optionally) domain.

    • From - Use From username and (optionally) domain.

    • Credentials - Use digest credentials username.

    • $avp[avp_name|avp_alias] - Use the URI from the AVP specified by this pseudo-variable.

  • group - Name of the group to check.

This function can be used from REQUEST_ROUTE.

Example 1-7. is_user_in usage

...
if (is_user_in("Request-URI", "ld")) {
	...
};
...

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?

Take a look at http://openser.org/.

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://openser.org/bugs.