group module provides functionalities for different methods of group membership checking. The module is primary used to offer Access Control Lists in OpenSER
There is a database table that contains a list of users and groups they belong to. The module provides the possibility to check if a specific user belongs to a specific group.
There is no DB caching support, each check involving a DB query.
Another database table contains a list of regular expressions and group IDs. A matching occurs if the user URI matches the regular expression. This type of matching may be used to fetch the group ID(s) the user belongs to (via RE matching).
Due to performance reasons (regular expression evaluation), DB cache support is available: the table content is loaded into memory at startup and all regular expressions are compiled.
The main function of group module is is_user_in(). This function can check if a user taken from R-URI, From URI, To URI, Credentials or AVP is member of a specific group.