1

我正在为opensips 2.2.3工作似乎是一个简单的功能,但似乎无法让它工作..

本质上,从权限模块中提取 groupID 并在出口端为 R-URI 添加前缀。

https://www.opensips.org/Documentation/Script-CoreFunctions-2-2#toc26

http://www.opensips.org/html/docs/modules/2.2.x/permissions.html#idp5689232

配置路线如下所示:

    route[relay] {

    if ( get_source_group("$avp(group)") ) {
            # do something with $avp(group)
            xlog("group is $avp(group)\n");

    };

    #Add the string parameter in front of username in R-URI.
    #prefix("$avp(group)");
    #prefix("$avp(group){s.substr,0,0}");

    $avp(22) = "3333#";
    prefix("$avp(22)");

核心函数前缀 R-URI 带有变量名称 ( $avp(22) ) 而不是值“3333#”。我尝试了各种注释掉的语法版本,但无济于事..

如果我删除变量名周围的引号: prefix($avp(22));

Opensips 根本没有启动,抱怨:语法错误和错误参数,字符串预期

我错过了一些简单的东西吗?或前缀函数根本不是为使用变量而设计的?

先感谢您。

4

1 回答 1

0

prefix()有点旧且未维护,因此它不支持变量。但是,您可以将您的组添加到 R-URI 用户名之前:

$rU = $avp(group) + $rU;
xlog("My new R-URI is $ru.  My new R-URI username is $rU\n");
于 2018-08-02T06:24:14.777 回答