Openser中文网

专注于VoIP,Opensips,Kamailio等技术,QQ群:QQ群:293697898

Kamaili文档Group中文


tags:Kamailiio文档 中文 翻译 创建时间:2015-12-12 21:30:28

This page was saved using WebZIP 7.0.3.1030 offline browser (Unregistered) on 10/03/15 23:42:10. Address: http://kamailio.org/docs/modules/stable/modules/group.html Title: group Module • Size: 33306 • Last Modified: Wed, 03 Jun 2015 20:25:53 GMT group Module

Jan Janak

FhG FOKUS
Daniel-Constantin Mierla

<miconda@gmail.com>
Edited by

Jan Janak

翻译

李 浩

<1354608370@qq.com>
Copyright © 2003 FhG FOKUS

目录

1. 用户指南
1. 概述
1.1. 严格的成员检查
1.2. 以正则表达式为基础的检查
2. 依赖模块
2.1. Kamailio模块
2.2. 外部库和应用程序
3. 参数表
3.1. db_url (string)
3.2. table (string)
3.3. user_column (string)
3.4. domain_column (string)
3.5. group_column (string)
3.6. use_domain (integer)
3.7. re_table (string)
3.8. re_exp_column (string)
3.9. re_gid_column (string)
3.10. multiple_gid (integer)
4. 函数表
4.1. is_user_in(URI, group)
4.2. get_user_group(URI, AVP)
示例

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. Set re_table parameter
1.8. Set re_exp_column parameter
1.9. Set re_gid_column parameter
1.10. Set multiple_gid parameter
1.11. is_user_in usage
1.12. get_user_group usage
第1节. 用户指南

目录

1. 概述
1.1. 严格的成员检查
1.2. 以正则表达式为基础的检查
2. 依赖模块
2.1. Kamailio模块
2.2. 外部库和应用程序
3. 参数表
3.1. db_url (string)
3.2. table (string)
3.3. user_column (string)
3.4. domain_column (string)
3.5. group_column (string)
3.6. use_domain (integer)
3.7. re_table (string)
3.8. re_exp_column (string)
3.9. re_gid_column (string)
3.10. multiple_gid (integer)
4. 函数表
4.1. is_user_in(URI, group)
4.2. get_user_group(URI, AVP)
1.用户指南

This module provides functionality for two different methods of group membership checking.
这个模块提供了两种对group成员进行检查的不同的方法的功能。

1.1.严格的成员检查

The module uses 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, which means that each check involves a DB query. 
这个模块没有提供缓存, 这意味着每一次的检查都会发起一个数据库查询。

1.2. 以正则表达式为基础的检查

Another database table contains list of regular expressions and group IDs. A matching occurs if the user URI match the regular expression. This type of matching may be used to fetch the group ID(s) the user belongs to (via RE matching) . 
另一个数据表包含了一个正则表达式和组的标识的对应表。如果用户URI和一个正则表达式匹配时, 这种类型的区配可以用来获取到用户所属的组标识(通过重新匹配)

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. 
由于性能的原因(正则表达式的评价),支持使用数据库缓存,这个表的内容被先加载到内存中, 启动并收集了所有的正则表达式。

2.依赖模块

2.1. Kamailio模块

The following modules must be loaded before this module: 
依赖模块必须要本模块前加载

A database module, like db_mysql, db_postgres or db_text
相关的数据库模块,比如Db_mysql,db_postgres或db_text

2.2.外部库和应用程序

The following libraries or applications must be installed before running Kamailio with this module loaded: 
依赖的外部库或应用程序必须在加载本模块前被安装:

None.

3.参数表

3.1. db_url (string)

URL of the database table to be used. 数据库使用的URL

默认值: “mysql://kamailioro:kamailioro@localhost/kamailio”.

示例 1.1. Set db_url parameter

...
modparam("group", "db_url", "dbdriver://username:password@dbhost/dbname")
...

3.2. table (string)

Name of the table holding strict definitions of groups and their members. 
表中严格的定义了组和它的成员

默认值: “grp”.

示例 1.2. Set table parameter

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

3.3. user_column (string)

Name of the “table” column holding usernames. 
包含用户名的表字段名称

默认值: “username”.

示例 1.3. Set user_column parameter

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

3.4. domain_column (string)

Name of the “table” column holding domains. 
包含domain的表字段的名称

默认值: “domain”.

示例 1.4. Set domain_column parameter

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

3.5. group_column (string)

Name of the “table” column holding group names. 包含用户组的表字段名称

默认值: “grp”.

示例 1.5. Set group_column parameter

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

3.6. use_domain (integer)

If enabled (set to a non zero value) then the domain will be used also used for strict group matching; otherwise only the username part will be used. 
如果启用的话(设置为一个非0值),那么domain将使用严格的组匹配检查,否则只会使用username部分。

默认值:0 (disabled).

示例 1.6. Set use_domain parameter

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

3.7. re_table (string)

Name of the table holding definitions for regular-expression based groups. If no table is defined, the regular-expression support is disabled. 
定义用于基于组的正则表达式的表字段的名称。如果没有表定义,将禁止使用正则表达式。

默认值: “NULL”.

示例 1.7. Set re_table parameter

...
modparam("group", "re_table", "re_grp")
...

3.8. re_exp_column (string)

Name of the “re_table” column holding the regular expression used for user matching. 
定义用于用户匹配表达式的的字段的定义

默认值: “reg_exp”.

示例 1.8. Set re_exp_column parameter

...
modparam("group", "re_exp_column", "re")
...

3.9. re_gid_column (string)

Name of the “re_table” column holding the group IDs. 用于定义group id的表字段名

默认值:“group_id”.

示例 1.9. Set re_gid_column parameter

...
modparam("group", "re_gid_column", "grp_id")
...

3.10. multiple_gid (integer)

If enabled (non zero value) the regular-expression matching will return all group IDs that match the user; otherwise only the first will be returned. 
如果启用的话(非0值),正则表达式匹配将返回用户匹配的组标识; 否则仅返回第一个匹配的。

默认值: “1” (enabled).

示例 1.10. Set multiple_gid parameter

...
modparam("group", "multiple_gid", 0)
...

4.函数表

4.1.  is_user_in(URI, group)

This function is to be used for script group membership. The function returns true if username in the given URI is a member of the given group and false if not. 
这个函数用于检查组成员的脚本,函数返回true意味着指定的 URI 是指定的group的成员,否则不是。

Meaning of the parameters is as follows: 参数的含义如下:

URI - URI whose username and optionally domain to be used, this can be one of: 
URI -用户名和一个可选项 domain,它可能是:

Request-URI - Use Request-URI username and (optionally) domain. Request-URI - 使用用户名和domain(可选)组合的Request-URI

To - Use To username and (optionally) domain. To - 要到达的 用户名和domain(可选)

From - Use From username and (optionally) domain. From - 发起请求的用户名和domain(可选)

Credentials - Use digest credentials username. Credentials -

$avp(name) - Use the URI from the AVP specified by this pseudo-variable.

group - Name of the group to check 检查group name.

This function can be used from REQUEST_ROUTE and FAILURE_ROUTE. 这个函数可以被用于REQUEST_ROUTE and FAILURE_ROUTE.

示例 1.11. is_user_in usage

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

4.2.  get_user_group(URI, AVP)

This function is to be used for regular expression based group membership. The function returns true if username in the given URI belongs to at least one group; the group ID(s) are returned as AVPs. 
这个函数用于通过正则表达式获得组成员。函数返回true,用户名至少属于一个group, 组ID返回到了 AVPs.

Meaning of the parameters is as follows: 参数的含义如下:

URI - URI to be matched against the regular expressions: 
URI - 和表达式要匹配的URI

Request-URI - Use Request-URI

To - Use To URI.

From - Use From URI

Credentials - Use digest credentials username and realm.

$avp(name) - Use the URI from the AVP specified by this pseudo-variable.

AVP - $avp(name) - the matched group IDs are returned in this AVP.

This function can be used from REQUEST_ROUTE and FAILURE_ROUTE. 这个函数可以被用于REQUEST_ROUTE and FAILURE_ROUTE.

示例 1.12. get_user_group usage

...
if (get_user_group("Request-URI", "$avp(i:10)")) {
    xgdb("User $ru belongs to $(avp(i:10)[*]) group(s)\n");
    ....
};
...


如果在有疑问或需要沟通的地方,可以QQ:1354608370 或 加FreeSWITCH+Kamailio+Opensips QQ群: 293697898 沟通交流!