将AVP传递给前缀核心功能

时间:2018-08-01 14:54:58

标签: voip opensips

我正在使用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根本无法启动,抱怨: 语法错误和错误参数,应使用字符串

我想念一些简单的东西吗? 要么 前缀函数是不是专门设计用于变量?

谢谢。

1 个答案:

答案 0 :(得分:0)

prefix()有点旧并且没有维护,因此它不支持变量。但是,您可以使用以下命令将您的论坛添加到R-URI用户名之前:

$rU = $avp(group) + $rU;
xlog("My new R-URI is $ru.  My new R-URI username is $rU\n");